用 C++ 写 Student 和 Teacher 时,姓名、地址这类公共字段重复定义很常见。把基类 Person 抽出来,子类只管扩展自己的部分,维护会轻松很多。我整理了自己对继承几个核心点的理解:概念定义、基类派生类转换、作用域隐藏、默认成员函数。
继承的概念与定义
核心角色
- 基类(父类):存放公共成员的类,比如
Person。 - 派生类(子类):继承基类并添加专属成员,比如
Student、Teacher。
子类是父类的扩展,能直接使用父类的 public/protected 成员,不用再写一遍。

定义格式
写继承很简单:class Student : public Person。注意 class 默认私有继承,struct 默认公有继承;显式写出继承方式更清晰。

// 基类
class Person {
public:
void identity() { cout << "void identity():" << _name << endl; }
void func() { cout << _age << endl; }
protected:
string _name = "赵四";
string _address;
string _tel;
private:
int _age = 18;
};
// 公有继承
class : Person {
:
{
();
}
:
_stuid;
};
: Person {
:
{ }
:
string title;
};
{
Student s;
Teacher t;
s.();
s.();
;
}











