每一个ABAB对应哪一个对象?
为什么不是AAB呢?
谢谢!
在main()
中构造B obj
对象:先调用A的构造函数输出第一个A
,然后调用B的构造函数,输出第一个B
,在B
构造函数又创建了A
对象p
,所以又调用了A
的构造函数,输出第二个A
,自此obj对象构造完毕
在main()
退出之前析构对象obj:先调用的是B的析构函数输出~B
,在B
析构函数中又删除了p
对象,即调用了A的析构函数输出~A
,最后调用obj对象的A析构函数输出~A
构造上大到小 析构是小到大
这里b是子类 a是父类
b类中有一个指针a类 所以不走构造函数
b对象先走父类的构造也就是A构造方法 打印A
然后走自己的构造 打印B
然后b构造里有A的new所以走A构造 打印A
然后主函数结束 释放B 因为b就是子类 B析构 打印BA~A
然后走b父类的析构和成员的析构A 打印