继承的特性就类似于我们进行分类时,大类和小类、包含与被包含的关系,比如动物界里有脊索动物门,脊索动物门有脊椎动物亚门,脊椎动物亚门又有哺乳纲……这其中也就包含了共性和特性的关系。上面也许说得比较抽象,接下来结合C++的代码来讨论。
基类与派生类:
基类和派生类的关系图如下:(引自菜鸟教程)
继承中,派生类为“小类”,基类为“大类”。一个派生类,可以继承自一个或多个基类(就好像一个人可以被在生物学角度进行划分,也可以在社会学角度进行划分)。
派生类的定义方式如下:
class <派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…
{
<派生类类体>
};
<继承方式>:继承方式同样是三种访问类型public,protected,private,通常使用public。不同的继承方式,在继承后其成员的访问类型会有所变化,参见(2)的内容.
一个派生类,可以访问基类的public和protected成员。
一个派生类会继承基类的所有方法(成员函数),除了以下函数:
- 基类的构造函数、析构函数以及拷贝构造函数(属于基类定义自身的内容)
- 基类的重载运算符
- 基类的友元
继承的内容比较少,下一篇把重载和多态放到一起来写,进行一下对比