继承与派生
1.派生类定义:
class 派生类名:继承方式 基类名
{
派生类成员声明
//派生类新增的数据成员和成员函数
};
2.派生类生成过程:
(1 继承除基类的构造函数和析构函数之外的所有数据成员和成员函数。
(2 对基类成员改造:1.依靠派生类的继承方式控制派生类类内和类外对基类成员的访问 2.对基类数据成员覆盖或对基类成员函数重新定义。
(3 增加新的成员
3.
4.派生类构造函数:
派生类构造函数(参数表):参数化表
{
派生类新增成员的初始化语句
}
5.派生类构造函数名与派生类名相同;
6.派生类对象构造函数执行顺序:
基类的构造函数
参数化中部分列出的对象成员的构造函数
派生类构造函数的函数体
先祖先(基类),再客人(对象成员),后自己(派生类本身)
7.派生类的析构函数:
先自己(派生类本身),再客人(对象成员),后祖先(基类)
8.单重继承: 派生类只有一个直接基类
多重继承: 派生类有多个直接基类
多重继承的定义:
9.在某些情况下,由于派生类继承了多个基类的全部成员,会出现派生类中数据成员或成员函数重名现象,导致派生类出现引用同名成员的二义性困惑。
(1 从不同基类继承的同名成员,引用时产生二义性
(2 低层派生类从不同路径多次继承同一个基类,产生二义性。
10.虚基类:
当基类派生出新类时,使用virtual将基类说明成虚基类。