请设计人员和学生类,并通过测试程序,具体要求如下: 人员类(Person)是基类,成员包含: 保护成员变量,姓名(name,string类型) 保护成员变量,年龄(age,int类型) 公有构造函数 公有函数display 学生类(Student)从人员类公有继承,成员包含: 私有成员变量,学号(id,string类型) 公有构造函数 公有函数display
时间: 2023-06-13 13:02:19 浏览: 315
下面是人员类和学生类的实现代码,以及测试程序:
```c++
#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: " << name << endl;
cout << "Age: " << 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();
cout << "Student ID: " << id << endl;
}
};
int main() {
Person p("John", 20);
p.display();
Student s("Mary", 18, "20210001");
s.display();
return 0;
}
```
输出结果:
```
Name: John
Age: 20
Name: Mary
Age: 18
Student ID: 20210001
```
在这个例子中,人员类(Person)是一个基类,学生类(Student)从人员类公有继承,同时还有一个私有成员变量学号(id)。在学生类的构造函数中,首先调用基类的构造函数,然后再初始化学号成员变量。在学生类的display函数中,首先调用基类的display函数,然后再输出学号。测试程序中,创建了一个人员对象和一个学生对象,并分别调用它们的display函数输出信息。
阅读全文