cpp-book/src/classes/inheritance.md
2024-02-05 23:09:03 +08:00

19 lines
963 B
Markdown

# 继承
类的继承使用`class 类名: 访问控制标识 基类名称 {}`的格式声明。其中访问控制标识可以取`protected`、`private`、`public`,用于控制基类中成员在子类中的访问级别。访问控制遵循以下规律。
- 使用`public`,基类中的成员将保持原有的访问级别。
- 使用`protected`,基类中的`public`和`protected`成员都将变为`protected`级别。
- 使用`private`,基类中的所有成员都会变为`private`。
子类在实例化时,必须先调用基类的构造函数创建基类对象,这就需要使用子类的构造函数采用特殊写法。例如有以下两个类`BasePerson`和`Child`。
```c++
Child::Child(std::string name, int age)
:BasePerson(name, age) {
// Child的构造函数体
}
```
子类的构造函数的参数列表后的`:`后,即为调用基类的构造函数位置,可以将构造函数收到的参数传递给基类的构造函数。