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
的区别。
是一种关系
继承是一种是一种关系。我们只有在两个类之间存在是一种关系时才使用继承。
以下是一些例子:
- 汽车是一种交通工具。
- 橙子是一种水果。
- 外科医生是一种医生。
- 狗是一种动物。