C++ 继承入门:从概念定义到默认成员函数
在开发多个类时,常会遇到'重复定义'的问题。比如 Student 和 Teacher 都需要姓名、地址和身份认证功能,如果各自写一遍,维护成本会很高。这就是没用到 C++ 的继承机制。继承是面向对象复用代码的核心,能让子类直接复用父类的成员和方法,再扩展自己的专属功能。
一、继承的概念与定义
继承(Inheritance)机制允许我们在保持原有类特性的基础上进行扩展,增加方法或属性,从而产生新的类,称为派生类。
想象一个场景:Student 和 Teacher 都有公共部分(姓名、地址),也有私有部分(学号、职称)。继承就是把'公共部分'抽成父类(基类),子类直接复用。
1. 继承的核心概念
- 父类(基类):存放公共成员的类,例如
Person类。 - 子类(派生类):继承父类并扩展专属成员的类,例如
Student。 - 本质:子类是父类的'扩展',能直接使用父类的公共/保护成员,无需重复定义。
![继承关系示意图]
2. 继承的定义格式
关键是'继承方式 + 父类名',例如 class Student : public Person。
#include <iostream>
using namespace std;
// 基类/父类
class Person {
public:
// 公共成员:子类和类外都能访问
void identity() { cout << "Identity: " << _name << endl; }
void age() { cout << _age << endl; }
protected:
// 保护成员:子类能访问,类外不能访问
string _name = "张三";
string _address;
string _tel = "123456";
private:
// 私有成员:子类和类外都不能直接访问
int _age = 18;
};
// 子类 Student:公有继承 Person
class Student : Person {
:
{
();
cout << _tel << endl;
}
:
_stuid;
};
: Person {
:
{
cout << _tel << endl;
}
:
string title;
};
{
Student s;
Teacher t;
s.();
t.();
s.();
t.();
;
}


