1.对象构造过程中执行的顺序
(1)先构造基类的成员
(2)执行基类的构造函数(在执行构造函数里我们写的代码之前基类的成员已经创建好了)
(3)构造派生类的成员
(4)执行派生类的构造函数
由输出结果可知,先构建基类b的成员也就是c,再执行基类b的构造函数。然后再构造派生类a的成员d,然后再执行a的构造函数。
2.对象析构过程中的执行顺序
(1)先执行派生类的析构函数
(2)销毁派生类的成员变量
(3)再执行基类的析构函数
(4)销毁基类的成员变量
1.对象构造过程中执行的顺序
(1)先构造基类的成员
(2)执行基类的构造函数(在执行构造函数里我们写的代码之前基类的成员已经创建好了)
(3)构造派生类的成员
(4)执行派生类的构造函数
由输出结果可知,先构建基类b的成员也就是c,再执行基类b的构造函数。然后再构造派生类a的成员d,然后再执行a的构造函数。
2.对象析构过程中的执行顺序
(1)先执行派生类的析构函数
(2)销毁派生类的成员变量
(3)再执行基类的析构函数
(4)销毁基类的成员变量