1.继承与派生的概念:在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(base class)”或“父类(father class)”,新建的类称为“派生类(derived class)”或“子类(son class )”。一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。
2.C++中引进类的继承机制的作用:较好的解决了软件的重用性。
继承的实现
3.派生类的声明:
class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n
{
//派生类新增加的成员声明
};
4.派生类的继承方式:public,private,protect。
派生类继承基类中除构造和析构函数以外的所有成员。
一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承。直接派生,间接派生。【类比父母子女,父母只能是一个(基类),子女(派生类)可以很多个】
5.
派生类生成:
吸收基类成员(除构造析构函数以外的所有成员);
改造基类成员(根据继承方式调整基类成员的访问,函数在子类中的覆盖,以及虚函数在子类中的覆盖);
添加新的成员;
6.继承的访问控制
派生类内不管是 public、protected、private 继承,总是可以访问基类中的public、protected 成员,基类中的 private 成员永远不能在
派生类内直接访问,不论通过哪种方式。
对于基类继承下来的成员的访问与修改权限如下:
基类成员访问权限(列) | public | protected | private | ||||||
派生方式(行) | 派生类对象 | 派生类类内 | 派生类对象 | 派生类类内 | 派生类对象 | 派生类类内 | |||
public | 可访/可修 | 权限:public 可访/可修 | 不可访/不可修 | 权限:protected 可访/不可修 | 不可访/不可修 | 权限:private 不可访/不可修 | |||
protected | 不可访/不可修 | 权限:protected 可访/不可修 | 不可访/不可修 | 权限:private 可访/不可修 | 不可访/不可修 | 权限:private 不可访/不可修 | |||
private | 不可访/不可修 | 权限:private 可访/不可修 | 不可访/不可修 | 权限:private 可访/不可修 | 不可访/不可修 |
权限:private
不可访 /不可修 |