一、继承 + 组合 模式的类对象 构造函数和析构函数调用规则
1、场景说明
如果一个类
既 继承了 基类 ,
又 在类中 维护了一个 其它类型 的 成员变量 ,
那么 该类 的 构造 与 析构 , 就需要涉及到...类 本身 的 构造函数 和 析构函数 ,
父类 的 构造函数 和 析构函数 ,
类 成员变量 的 构造函数 和 析构函数 ;
2、调用规则
在 继承 + 组合 的情况下 , 构造函数 与 析构函数 调用规则如下...析构函数 ;
最后 , 调用 父类 析构函数 ;
二、完整代码示例分析
----
1、代码分析
在下面的代码中 ,
继承关系 : C 类 继承了 B 类 class C : public B , B 类...继承了 A 类 class B : public A ;
组合关系 : D 类 是一个普通类 , 在 C 类中维护了一个 D 类成员变量 ;
class C : public B {
public:..., 涉及到的 父类构造/析构函数 , 自身构造/析构函数 , 成员变量 构造/析构函数 的调用顺序 ;
构造函数调用顺序 : 父类 -> 成员 -> 自身 ;
析构函数调用顺序 : 自身 -> 成员