C++继承与派生 读程序 求解释

2025-03-06 13:31:39
推荐回答(2个)
回答1:

构造函数的顺序是:先调用父类构造函数,然后调用成员变量构造函数,再运行本身的构造函数
ABA分别为父类构造函数,本类构造函数(因为是先输出B,然后创建的A)
析构的顺序正好相反,先调用本类析构函数,然后调用成员变量析构函数,再运行父类的析构函数

正常来说。你在构造函数里使用new创建了一个对象,应该再析构函数里写delete这个对象。delete函数相比较C里面的Free,最大的特点就是delete会调用对象的析构函数

所以你delete p就会析构A

最后再调用父类的析构函数
所以为~B~A~A

回答2:

p进行的操作出来的第三个A,调用B的析构函数,输出-B-A,调用A的析构函数出来的-A,差不多这样!