c++继承构造析构调用原则以及特殊变量处理
一、继承中的构造析构调用原则
1.子类对象在创建时会首先调用父类的构造函数
2.父类构造函数执行结束后,执行子类构造函数
3.当父类构造函数有参数时,需要在子类的初始化列表中显示调用;
4.析构函数调用的先后顺序与构造函数相反
二、继承与组合混搭时,构造与析构的调用原则
1.先构造父类,再构造成员变量,最后构造自己
2.先析构自己,在析构成员变量,最后析构父类(先析构的对象,后释放)
三、继承中同名成员变量处理方法
1、当子类成员变量与父类的成员变量同名时,子类依然从父类继承同名成员,且同名成员存储在不能的内存中,在子类中通过作用域分析符::进行同名成员区分,默认使用子类成员变量;
四、继承中,父类的static变量
1.static函数也遵循3个访问原则
2.static要初始化,告诉编译器分配内存;
3.构造函数默认为private,被继承时定义对象会编译报错(单例时不会报错)