1.派生
class 派生类名:继承方式 基类名
{ 派生类中的新成员 }
2.三种继承方式:
公有继承:public
私有继承:private
保护继承:protected
派生类继承了基类的除了构造函数、析构函数、拷贝构造函数和赋值运算符重载函数之外的所有成员,因此派生类对象由两部分组成:一部分是由基类继承的成员,另一部分是派生类新增加的自己特有的成员。
3.继承
公有继承:public
私有继承:private
保护继承:protected
派生类继承了基类的除了构造函数、析构函数、拷贝构造函数和赋值运算符重载函数之外的所有成员,因此派生类对象由两部分组成:一部分是由基类继承的成员,另一部分是派生类新增加的自己特有的成员。
4.里氏代换原则
在软件里面,把基类都替换成它的子类,程序的行为没有变化。
5.不允许将基类的对象赋值给派生类的对象
当类的继承方式为保护继承时,基类的公有和保护成员都以保护成员身份出现在派生类中,而基类的私有成员不可访问。
6.派生类的构造、析构函数
基类的构造函数不被继承,需要在派生类中自行声明。
声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化由基类完成。
单继承时的构造函数
派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数)
{
本类成员初始化赋值语句;
};
7. 派生类构造函数执行的一般顺序是:
(1)基类构造函数,
(2)派生类对象成员类的构造函数(如果有的话)。
(3)派生类构造函数体中的内容。 释放派生类对象时,析构函数的执行顺序是: 先执行派生类的析构函数,再执行对象成员类的析构函数(如果派生类有对象成员的话)最后执行基类的析构函数,其顺序与执行构造函数时的顺序正好相反.