-
继承中的构造
1.1 首先来说下派生类
【1】派生类的组成 = 基类继承而来的成员 + 派生类类中 新增加的成员 。
【2】特点:从基类继承过来的表现与基类所表现其共性,而新增加的成员体现了其个性
【3】派生类的构造函数:
由基类继承而来的成员 初始化: 由基类的构造函数完成,
派生类类中新增加的成员 初始化 :在派生类的构造函数中初始化1.2 语法:
派生类类名::派生类类名(总参列表):基类名(参数列表),子类中成员变量(参数列表)
内嵌子对象1(参数列表1),内嵌子对象2(参数列表2)
{
}
1.3 Demo实现
class Derive : public Base
{
public:
//派生类的构造函数
Derive(int Base_a,int Der_d,int A_a,int B_b)
:Base(Base_a),Derive_d(Der_d),a(A_a),b(B_b)
{
}
private:
int Derive_d;
A a;
B b;
};
-
继承中构造和析构调用原则
构造:父类 ----> 内嵌子对象 -----> 子类自己
析构:子类自己 — 内嵌子对象 ----> 父类注:当父类的构造函数有参数时,需要在子类的初始化列表中显示调用,如果有多个内嵌对象,调用顺序跟声明顺序有关
2.1 demo实现
class Base
{
public:
Base