继承和派生
一. 继承和派生的概念
1. 继承和派生
~~~~~~ 继承,就是从先辈处得到属性和行为的特征。类的继承就是新的类从已有的类那里得到已有的特性。从另一个角度来看问题,从已有类产生新类的过程就是类的派生。
~~~~~~ 基类和派生类的关系,可以表述为:派生类是基类的具体化,而基类是派生类的抽象。
2. 派生类的声明
~~~~~~ 格式为:
class 派生类名:[继承方式] 基类
{
派生类新增的数据成员和成员函数
};
“基类名”是一个已经声明的类的名称,“派生类名”是继承原有类的特性而生成的新类的名称。“继承方式”规定了如何访问从基类中继承的成员,他可以是关键字:private, protected, public,分别表示私有继承,保护继承和共有继承,默认为私有继承。
3. 基类成员在派生类中的访问属性
- 基类中的私有成员。无论哪种继承方式,基类中的私有成员不允许派生类继承,即在派生类中不可直接访问。
- 基类中的共有成员:
公有继承时,基类中的所有公有成员在派生类中仍以公有成员的身份出现。
私有继承时,基类中的所有公有成员在派生类中仍以私有成员的身份出现。
保护继承时,基类中的所有公有成员在派生类中仍以保护成员的身份出现