一、继承中的对象模型分析
1、继承代码示例
下面有 3 个类 , 分别是 A 类 , B 类 , C 类 ;
A 类是 基类 ;
B 类 公有继承 A 类 , 并定义了新的 成员变量 y ;
C 类...C : public B {
public:
int z;
};
分别定义上述 3 个类的对象 ,
A objA;
B objB;
C objC;
2、基类与派生类内存模型
上述 3 个对象的内存模型如下...成员 , 在内存中是 2 个 int 类型的空间 ;
C 类对象 objC 中 , 除了继承自 B 类的 int x 和 int y 成员 , 还有一个自己的 int z 成员 , 在内存中是 3 个...int 类型的空间 ;
3、问题引入 - 派生类对象构造函数和析构函数调用
上述 继承 的过程中 , 每一层继承 , 都继承了上一级 父类的 成员变量 , 同时自己也定义了新的成员变量 ;
在 派生类对象...----
1、子类构造函数与析构函数调用顺序
继承中的构造函数和析构函数 :
子类构造 : 子类对象 进行 构造 时 , 需要调用 父类 的 构造函数 对 继承自父类的 成员变量 进行 初始化 操作