C++ 继承机制:同名成员隐藏规则与默认函数详解
前言
对于 C++ 来说,封装、继承、多态是面向对象编程(OOP)的经典三要素。这三个特性构成了 C++ 区别于纯面向过程语言的核心,也是理解面向对象思想的关键。之前我们利用类和对象的思想和 STL 中的适配器了解了封装,今天这篇文章就详细介绍一下继承这个特性。
一、什么是继承?
继承(inheritance) 机制是面向对象程序设计中代码复用的最重要手段。它允许我们在保持原有类(基类)特性的基础上进行扩展,增加方法和属性,从而产生新的类,称为派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。
举个例子,假设我们设计了 Student 和 Teacher 两个类,它们都有姓名、地址、电话、年龄等成员变量,以及身份认证的成员函数。如果把这些都写进两个类里,代码就会大量冗余。当然,它们也有不同的部分,比如老师有职称,学生有学号;老师能授课,学生能学习。
class Student {
public:
// 进入校园/图书馆/实验室刷二维码等身份认证
void identity() {
// ...
}
// 学习
void study() {
// ...
}
protected:
string _name = "peter";
string _address;
string _tel;
int _age = 18;
int _stuid;
};
class Teacher {
public:
// 进入校园/图书馆/实验室刷二维码等身份认证
void identity() {
// ...
}
// 授课
void teaching() {
// ...
}
protected:
string _name = "张三";
int _age = 18;
string _address;
string _tel;
string _title;
};
{
;
}









