(1)C++继承概念:
C++继承分为公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承,还有一种结构特殊的菱形继承。
(2)三种继承方式的总结:
1. 公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。
2. 保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
3. 私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
继承方式总结表格:
(3)继承的定义格式、继承权限和类的访问权限:
(4)继承关系中构造函数和析构函数的调用顺序:
(5)总结:
1、在继承体系中,基类和派生类是两个不同的作用域。
2、子类和父类中有同名成员,子类成员将屏蔽父类对成员的直接访问(在子类函数中可以采用 基类::基类成员 访问)------隐藏------重定义。
3、注意在继承体系中最好不要定义同名的成员。
4、继承与转换------赋值兼容规则------public继承
5、友元与继承
6、继承与静态成员
(6)结构特殊的菱形继承:
1、多继承和菱形继承:
2、菱形继承的对象模型:
3、虚继承---解决菱形继承中的二义性问题:
(加关键字virtual)