1.单继承:
单继承是最简单的继承方式,其标准的定义方式为:
class <子类名>:<继承方式> <父类名>
{
<子类新定义成员>
};
其中“:”是继承符号,“:”左边是派生类,右边是源头的父类。
2.多继承:
- 多继承
- class<子类名>:<继承方式1><父类名1>,<继承方式2><父类名2>,...
- {
- <子类新定义成员>
- };
- //若省略继承方式,则默认为私有继承
3.继承方式:
公有继承:
父类成员对其子类对象的可见性:父类的公有成员对于其子类对象是可见的,其他成员均隐藏,不可访问(protect被访问权限同private)
父类成员对子类的可见性:父类的公有成员和保护成员可见,私有成员被隐藏,不可直接访问。(protect被访问权限相当于public)
私有继承:
父类公有成员和保护成员都作为子类的私有成员,并且不能被这个子类的对象所访问。
保护继承:
父类的所有公有成员或保护成员都称为子类的保护成员,并且只能被它的子类成员函数或友元访问,父类的私有成员仍然私有,子类的对象是不可以直接访问父类的成员的。
子类是父类的具体化 子类是父类定义的延续 子类是父类的组合
4.继承的构造函数和析构函数:
(1)构造函数的构造顺序:
系统会先调用父类的构造函数,将父类对象相关成员明确后,再然后是子类构造函数被调用。
(2) 析构函数的析构顺序:
先调用子类对象的析构函数,再调用父类的析构函数。