在父类构造函数中的 this指针 实现 子类地址赋值给基类指针变量
1 显示效果:
2 代码
#include "Windows.h"
#include "iostream"
using namespace std;
class A
{
public :
int a = 5;
static A * m_Ainstance;
public:
A()
{
m_Ainstance = this; //子类地址赋值给父类
this->a = 6;
cout << "A类的构造函数中的 this指针 地址=" << m_Ainstance<<endl;
}
};
A * A::m_Ainstance;
class B : public A
{
public:
static B * m_Binstance;
B()
{
m_Binstance = this;
cout << "B类的构造函数中的 this指针 地址=" << m_Binstance << endl;
}
};
B* B::m_Binstance;
void main()
{
B b;
cout << "对象b的 地址=" << &b << endl;
cout <<endl<< "说明: b对象的地址 和 父类A构造函数中this指针的地址相等(当执行 m_Ainstance = this 语句时,就实现了子类地址赋值给基类) " << endl;
system("pause");
}