C++ 继承
提示
- 继承概念:C++中的继承是面向对象编程的关键特性之一,允许从已有的类(基类)创建新类(派生类)。派生类继承了基类的特性,并且可以有自己的附加特性。
- is-a关系:继承是一种is-a关系,我们只在两个类之间存在is-a关系时使用继承。例如,“狗是动物”(Dog is an Animal)或“橙子是水果”(Orange is a Fruit)。
- 访问模式和成员访问:在继承中可以使用
public、private和protected关键字来定义访问模式。public继承保持基类成员的访问级别,private继承使所有基类成员在派生类中变为private,而protected继承则将基类的public成员转换为派生类中的protected成员。
继承是C++面向对象编程的关键特性之一。它允许我们从一个已存在的类(基类)创建一个新的类(派生类)。
派生类继承了基类的特性并且可以有其自己的额外特性。例如,
class Animal {
// eat() 函数
// sleep() 函数
};
class Dog : public Animal {
// bark() 函数
};
这里,Dog 类是从 Animal 类派生的。由于 Dog 是从 Animal 派生的,Animal 的成员对 Dog 是可访问的。

注意在从 Animal 继承 Dog 时使用了关键字 public。
class Dog : public Animal {...};
我们也可以使用 private 和 protected 关键字代替 public。我们将在本教程后面学习使用 private、public 和 protected 的区别。
是一种关系
继承是一种是一种关系。我们只有在两个类之间存在是一种关系时才使用继承。
以下是一些例子:
- 汽车是一种交通工具。
- 橙子是一种水果。
- 外科医生是一种医生。
- 狗是一种动物。