class Person { protected: string name; // 姓名 int age; // 年龄
时间: 2024-11-30 17:18:15 浏览: 30
在面向对象编程中,`Person` 类是一个包含了成员变量的模板。`protected` 访问修饰符表示这个类的成员变量可以在类的内部以及其派生类(`Derived` 类)中直接访问。例如:
```cpp
class Person {
protected:
string name; // 姓名,只能由Person类及它的派生类访问
int age; // 年龄,同上
public:
// 构造函数,用于初始化成员变量
Person(string n, int a) : name(n), age(a) {}
// 公共成员函数,可以被任何人访问
void introduce() {
cout << "My name is " << name << ", and I am " << age << " years old." << endl;
}
private:
// 非公开部分,外部无法直接访问
};
```
在这个`Person`类里,`name` 和 `age` 被保护起来,防止直接在类的外部修改。如果需要提供方法来改变这些值,我们可以添加公共的方法。
派生类可以从`Person`继承这些属性,并可能覆盖或添加新的功能。例如,创建一个`Student`派生类:
```cpp
class Student : public Person {
public:
string school; // 将学校信息作为公有成员,以便于访问
void enroll() {
// 实现学生注册相关的操作
}
};
```
阅读全文