定义明确:将用于继承的类称为父类,也叫基类,用于为继承提供源头。从父类继承出来的类称为子类,也可称为派生类。一个子类(或派生类)可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。
C++提供继承的目的是为了在不同的类型实体之间提取共性,提高代码利用率,并且可以灵活地对基类根据实际的使用场景进行改造设计。
单继承
class <子类名>:<继承方式> <父类名> //:是继承符号,左边为派生类,右边是源头的父类,继承方式有三种:public公有继承 private私有继承 protect保护继承
{
<子类新定义成员>
};
多继承
class<子类名>:<继承方式1><父类名1>,<继承方式2><父类名2>,...
{
<子类新定义成员>
};
//若省略继承方式,则默认为私有继承
公有继承:
父类成员对其子类对象的可见性:父类的公有成员对于其子类对象是可见的,其他成员均隐藏,不可访问(protect被访问权限同private)
父类成员对子类的可见性:父类的公有成员和保护成员可见,私有成员被隐藏,不可直接访问。(protect被访问权限相当于public)
私有继承:
父类公有成员和保护成员都作为子类的私有成员,并且不能被这个子类的对象所访问。
保护继承:
父类的所有公有成员或保护成员都称为子类的保护成员,并且只能被它的子类成员函数或友元访问,父类的私有成员仍然私有,子类的对象是不可以直接访问父类的成员的。
子类是父类的具体化 子类是父类定义的延续 子类是父类的组合