析构函数与构造函数的调用顺序,请说明下程序运行的顺序好,为什么出来这种结果,谢谢

2024-12-04 06:01:53
推荐回答(1个)
回答1:

是对的哇。有什么问题?
继承关系的构造函数和析构函数的执行顺序为:
1、父类构造函数执行。
2、子类构造函数执行。
3、子类析构函数执行
4、父类析构函数执行。
组合关系的构造函数和析构函数执行顺序为:
1、执行类成员对象的构造函数。
2、执行类自己的构造函数。
3、执行类自己的析构函数
4、执行类成员的析构函数。
你container有两个成员,one,two,所以在执行这个container构造函数之前执行object类的构造函数两次,Default constructor for object,然后执行自己的构造函数,输出Default constructor for container。下面的一样推理。