类的继承
二、继承:
2.1、public、protected、private的访问权限:
2.1.1、public : 外部可访问。
2.1.2、protected : 内部可访问,外部无法访问, 可继承,子类可访问。
2.1.3、private : 类内部可访问, 不可继承,子类不可访问。
2.1.4、public 继承方式:对于子类来说访问方式不变。
2.1.5、protected 继承方式:将基类中的public访问权限,变成protected。
2.1.6、private 继承方式:将基类中的public和protected的访问权限,都变成private。
2.2、构造函数和析构函数的调用:
2.2.1、 在调用构造函数时首先是:执行初始化列表,再执行构造函数体。
2.2.2、 创建一个子类对象时,先调用父类的构造函数再调用子类的构造函数。
2.2.3、 销毁一个对象时,先调用子类的析构函数再调用父类的析构函数。
2.2.4、 子类和父类的构造参数相同的话,应该交由父类的析构函数来完成对内存的释放。
如果在子类中子类自定义了其他的成员数据的话,
这些子类特有的成员数据才是子类的析构函数来完成内存的释放。
总的来说就是由谁定义出来的变量,就由谁来管理。
2.2.5、 构造函数是不会继承下去的。
2.4、派生类对象与基类对象:
2.4.1、 派生类向基类转换, 造成对象切割, 丢失特性。
2.4.1、 子类对象可以转换为父类对象,反之不行。
2.5、虚基类主要用于菱形继承。