C++ 继承:面向对象代码复用的核心机制
继承是 C++ 面向对象三大特性之一,允许一个类(派生类)继承另一个类(基类)的属性和行为。这不仅是实现代码复用的关键手段,也支持在基类基础上扩展新功能。
继承的核心价值
在实际开发中,继承主要解决两个问题:
- 代码复用:避免重复编写相同的成员变量和函数,降低冗余度。
- 功能扩展:派生类可以在基类的基础上新增专属属性和方法,满足更复杂的业务需求。
举个生活化的例子:学生和老师都属于'人',都有姓名、年龄等属性和吃饭、睡觉等行为。我们可以先定义 Person 基类,再让 Student 和 Teacher 继承它,并各自扩展专属功能。
基本语法与实现
语法格式
class 派生类名 : 继承方式 基类名 {
// 派生类的成员
};
- 继承方式:决定基类成员在派生类中的访问权限,包括
public、protected、private三种。 - 基类名:被继承的类,也叫父类或超类。
- 派生类名:继承基类的类,也叫子类或衍生类。
基础案例
我们以 Person 作为基类,Student 作为派生类,演示继承的基本用法。
#include <iostream>
#include <string>
using namespace std;
// 基类:人
class Person {
public:
string name;
int age;
void eat() {
cout << name << " 正在吃饭" << endl;
}
void sleep() {
cout << name << << endl;
}
};
: Person {
:
studentID;
{
cout << name << << studentID << endl;
}
};
{
Student s;
s.name = ;
s.age = ;
s.studentID = ;
s.();
s.();
s.();
;
}


