编译器如何在继承中进行合成?
假设我创建一个派生类的对象,其中基类和派生类都通过其他类的composition对象包含。我想要一些示例来解释构造函数和析构函数。
最佳答案
鉴于它确实看起来像是家庭作业,因此我不会为您提供太多便利。如果您可以仔细考虑并理解下面的内容,请祝您好运...。
调用基类的构造函数,对于每个成员变量(按基类中的声明顺序),将调用与基类初始化列表中指定的参数相对应的构造函数或默认的构造函数(如果有的话)(否则,该成员的未初始化,尽管有时(例如,由于new (p) T()
表示法或static
导致对象包含在内存中的较早的零初始化)总会保证特定的值)。然后,派生的构造函数对其自己的数据成员执行相同的操作。破坏发生的顺序相反。