#include "stdafx.h" #include <iostream> #include <stdlib.h> using namespace std; class baseAB { public: baseAB(int aa,int bb):a(aa),b(bb) { cout<<"base constrater"<<endl; } protected: int a; protected:int b; public: virtual void fun1() { cout<<"basefun1"<<endl; } public: void fun2() { cout<<"basefun2"<<endl; } }; class A:public baseAB { public: A(int aa,int bb,int cc): baseAB(aa,bb) { cout<<"A constrater"<<endl; c=cc; } public: int c; }; int _tmain(int argc, _TCHAR* argv[]) { A as(3,5,6); baseAB* pa = &as; pa->fun1(); pa->fun2(); //pa->c //error 访问不到 int s=((A*)pa)->c;//容易被忽视的点 char strbuff[10]={}; itoa(s,strbuff,16); string s1(strbuff); cout<<s<<endl; system("pause"); //Sleep(10000); return 0; }
C++子类赋值给父类,调用。
猜你喜欢
转载自blog.csdn.net/wuan584974722/article/details/80012397
今日推荐
周排行