1. 派生
派生类继承了基类的:
- 派生类对象存储了基类的数据成员
- 派生类对象可以使用基类的方法
派生类需要添加:
- 自己的构造函数(必须为新成员和继承的成员提供数据)
- 根据需求添加额外的数据成员和成员函数
2. 派生类构造函数
因为派生类不能直接访问基类的私有成员,所以要通过基类的构造函数初始化基类的私有成员。
有关派生类构造函数的要点:
- 首先创建基类对象
- 派生类构造函数应通过成员初始化列表将基类信息传递给基类构造函数
- 派生类构造函数应初始化派生类新增的数据成员
3. 基类和派生类之间的特殊关系
- 派生类可以使用基类的方法,条件是方法不是私有的
- 基类指针和基类引用可以在不进行显示类型转换的情况下指向和引用派生类
4. 多态公有继承
实现多态公有继承的方法:
- 在派生类中重新定义基类方法
- 使用虚方法:方法声明中加关键字virtual(一般在基类方法声明和派生类方法声明中都加virtual关键字,但派生类方法声明中也可不加 )。如果方法是通过引用或者指针调用使的,如果用了virtual,程序将根据引用或指针指向的对象的类型来选择方法;如果没有用virtual,程序根据引用类型或者指针类型选择方法。virtual只用于类声明的方法原型中,而不需要用于方法定义中。