64,645
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class A
{
public:
int a;
A *pa;
public:
virtual void dosomething(){cout << "A类dosomething"<<endl;}
A()
{
cout << "A类构造"<<endl;
pa = this;
a = 1;
}
virtual ~A(){cout << "A类析构"<<endl;}
};
class B : public A
{
public:
int b;
B *pb;
public:
void dosomething(){cout << "B类dosomething"<<endl;}
void dosomethings(){cout << "B类dosomethings"<<endl;}
B()
{
cout << "B类构造"<<endl;
b = 2;
pb = this;
}
~B(){cout << "B类析构"<<endl;}
};
int main()
{
A a;
B b;
cout << a.pa << endl; // 输出1结果: 0012FF68
cout << b.pa << endl; // 输出2结果: 0012FF54
cout << b.pb << endl; // 输出3结果: 0012FF54
return 0;
}