第12章 类的继承和派生
本章节内容来自全国计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级C++语言》。本章主要考查派生类的定义与访问权限、虚基类的概念等,包括派生类的定义、派生类继承方式,以及对基类中的数据成员与成员函数的访问权限、派生类构造函数与析构函数的调用机制、派生类的二义性处理和虚基类等。继承是面向对象的三大特性之一。通过对历年试卷内容的分析,本章考核内容约占卷面分数的10%,属于重点考查对象,由命题走势图12-1可知,本节所涉及考题分值总体呈上升趋势。

12.1 继承与派生
12.1.1 考点1:继承与派生的基本概念
类的继承是新的类从已有的类中取得已有的特性,诸如数据成员、成员函数等,类的派生是从已有的类产生新类的过程,这个已有的类称之为基类或者父类,而新类则称之为派生类或者子类,派生类具有基类的数据成员和成员函数,同时增加了新的成员。
从派生类的角度,根据其拥有的基类数目的不同,可以分为单继承和多继承。一个类只有一个直接基类时,称为单继承;而一个类同时有多个直接继承类时,则称为多继承。
12.1.2 考点2:派生类的定义
C++中定义派生类的格式如下所示。
1.单继承定义格式
class <派生类名>:<继承方式> <基类名>
{
<派生类新定义成员>
};
2.多继承定义格式
class <派生类名>:<继承方式1> <基类名1>,
<继承方式2> <基类名2>,
……,
<继承方式n> <基类名n>
{
<派生类新定义成员>
};
其中<继承方式>是指派生类的访问控制方式,用来确定基类成员在派生类中的权限,具有公有继承(public)、保护继承(protected)和私有继承(private)等3种模式。私有继承(private)是默认的继承方式。
<派生类新定义成员>是派生类中新增加的数据成员和成员函数。
12.1.3 考点3:派生类的构成
派生类中的成员可以分为两部分:一部分是从基类中继承的成员,另一部分是派生类中自定义的新成员。其中,从基类继承的私有成员是派生类不能直接访问的,如表12-1所示。
