C++ 继承机制详解
1. 继承的核心概念
继承(Inheritance)是面向对象程序设计中实现代码复用的最重要手段。它允许在已有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),从而产生新的类。原来的类称为基类(父类),新类称为派生类(子类)。
继承不仅提高了代码的复用性,还呈现出面向对象程序设计的层次结构。与函数层次的复用不同,继承是类设计层次的复用。
示例:无继承 vs 有继承
假设我们需要设计学生和老师类,两者都有姓名、地址、电话等公共信息。
没有继承时:
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
void identity() { /* ... */ }
void study() { /* ... */ }
protected:
string _name = "peter";
string _address;
int _age = 18;
};
class Teacher {
public:
void identity() { /* ... */ }
void teaching() { /* ... */ }
protected:
string _name = "张三";
string _address;
int _age = 18;
};
可以看到,Student 和 Teacher 中重复定义了相同的成员变量和函数,造成冗余。
使用继承后:


