开发者社区 问答 正文

类继承方面的问题,求教

class A{
public :
A* a;
A(){a = this;}
};
class B : public A{
public:
B(){};
};
void main()
{
B* b = new B;
;
cout<< b << " " << b->a <<endl;
getchar();
}

为什么两次输出的结果是一样的,都是指向,A类对象在创建的时候,b还不存在,this指针怎么就指向了b呢?

展开
收起
a123456678 2016-03-04 16:19:46 2098 分享 版权
1 条回答
写回答
取消 提交回答
  • b是首地址,b继承了a,所以b的首地址就是b->a。
    而且,你new了没有delete = =

    2019-07-17 18:52:28
    赞同 展开评论
问答地址: