章节目录

第24章总结

本节阅读量:

继承允许我们对两个对象之间的关系进行建模。被继承的对象称为父类、基类或超类。进行继承的对象称为子类、派生类。

当派生类继承自基类时,派生类将获取基类的所有成员。

当构造派生类时,首先构造类的基类部分,然后构造派生部分。更详细地说:

  1. 留出内存(足够用于基类和派生部分)。
  2. 调用相应的派生类构造函数。
  3. 使用适当的基类构造函数构造基类对象。如果没有指定基类构造函数,则将使用默认构造函数。
  4. 派生类的初始化列表初始化派生类的成员。
  5. 派生类构造函数的主体执行。
  6. 控制权返回给调用者。
  7. 析构发生的顺序相反,从最底层的派生类到最上层的基类。

C++有3个访问说明符:public、private和protected。protected允许成员所属的类、友元和派生类访问protected的成员,但不允许外部访问。

类可以public、private或protected地继承另一个类。类几乎总是public继承。

以下是所有访问说明符和继承类型组合的表:

基类中的访问说明符 public继承时对应的派生类的访问说明符 private继承时对应的派生类的访问说明符 protected继承时对应的派生类的访问说明符
Public Public Private Protected
Protected Protected Private Protected
Private 不可访问 不可访问 不可访问

派生类可以添加新函数、更改基类中存在的函数在派生类中的工作方式、更改继承成员的访问级别或隐藏功能。

多重继承使派生类能够从多个父类继承成员。你通常应该避免多重继承,除非替代方案会导致更复杂的情况。


24.8 多重继承

上一节

25.0 指向派生对象的基类指针和引用

下一节