继承

类的继承使用class 类名: 访问控制标识 基类名称 {}的格式声明。其中访问控制标识可以取protectedprivatepublic,用于控制基类中成员在子类中的访问级别。访问控制遵循以下规律。

  • 使用public,基类中的成员将保持原有的访问级别。
  • 使用protected,基类中的publicprotected成员都将变为protected级别。
  • 使用private,基类中的所有成员都会变为private

子类在实例化时,必须先调用基类的构造函数创建基类对象,这就需要使用子类的构造函数采用特殊写法。例如有以下两个类BasePersonChild

Child::Child(std::string name, int age)
    :BasePerson(name, age) {
    // Child的构造函数体
}

子类的构造函数的参数列表后的:后,即为调用基类的构造函数位置,可以将构造函数收到的参数传递给基类的构造函数。