人员类(Person)是基类,成员包含: 保护成员变量,姓名(name,string类型) 保护成员变量,年龄(age,int类型) 公有构造函数 公有函数display学生类(Student)从人员类公有继承,成员包含: 私有成员变量,学号(id,string类型) 公有构造函数 公有函数display
时间: 2023-11-16 21:03:51 浏览: 322
好的,你的问题是关于面向对象编程的,你想问的是如何实现一个人员类和一个学生类,并且让学生类从人员类继承而来,是吗?
如果是这样,那么可以按照以下方式实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 人员类
class Person {
protected:
string name; // 姓名
int age; // 年龄
public:
// 构造函数
Person(string n, int a) : name(n), age(a) {}
// 显示信息
void display() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
}
};
// 学生类,从人员类继承而来
class Student : public Person {
private:
string id; // 学号
public:
// 构造函数
Student(string n, int a, string i) : Person(n, a), id(i) {}
// 显示信息
void display() {
Person::display(); // 调用基类的 display() 函数
cout << "学号:" << id << endl;
}
};
int main() {
Student s("张三", 20, "001");
s.display();
return 0;
}
```
在这个示例中,我们定义了一个人员类(Person),其中包含了姓名和年龄两个保护成员变量,以及一个构造函数和一个显示信息的公有函数。
然后,我们定义了一个学生类(Student),它从人员类(Person)公有继承而来。在学生类中,我们增加了一个私有成员变量学号(id),以及一个构造函数和一个显示信息的公有函数。
在 main 函数中,我们创建了一个学生对象 s,然后调用了它的 display() 函数,输出了它的信息。
需要注意的是,为了在学生类中调用基类的 display() 函数,我们需要使用“基类作用域限定符”(也就是 Person::display())。
阅读全文