设计一个基类Person, 包含name、sex和age3个私有数据成员,然后由它派 生出Student类 和 Teacher类,其中Student类中新增学号、 成绩两个私有数据成 员,Teacher类中新增院系 工号、工资3个私有数据成员。另外,Student类和 Teacher类中均有相应的用于数据输入输出的公共接口函数,请编程实现;
时间: 2024-02-18 18:00:00 浏览: 82
由Person类派生出学生类Student和教师类Teacher
下面是实现的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
char sex;
int age;
public:
void input() {
cout << "请输入姓名:";
cin >> name;
cout << "请输入性别(男/女):";
cin >> sex;
cout << "请输入年龄:";
cin >> age;
}
void output() const {
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "年龄:" << age << endl;
}
};
class Student : public Person {
private:
string id;
float score;
public:
void input() {
Person::input();
cout << "请输入学号:";
cin >> id;
cout << "请输入成绩:";
cin >> score;
}
void output() const {
Person::output();
cout << "学号:" << id << endl;
cout << "成绩:" << score << endl;
}
};
class Teacher : public Person {
private:
string department;
string job_number;
float salary;
public:
void input() {
Person::input();
cout << "请输入院系:";
cin >> department;
cout << "请输入工号:";
cin >> job_number;
cout << "请输入工资:";
cin >> salary;
}
void output() const {
Person::output();
cout << "院系:" << department << endl;
cout << "工号:" << job_number << endl;
cout << "工资:" << salary << endl;
}
};
int main() {
Student s;
s.input();
s.output();
Teacher t;
t.input();
t.output();
return 0;
}
```
在上面的代码中,我们定义了一个基类 `Person`,包含了 `name`、`sex` 和 `age` 三个私有数据成员,以及两个公有接口函数 `input` 和 `output`,用于输入和输出数据。然后我们定义了两个派生类 `Student` 和 `Teacher`,它们分别新增了学号、成绩和院系、工号、工资三个私有数据成员,并且重载了 `input` 和 `output` 函数。
在 `main` 函数中,我们分别创建了一个 `Student` 对象和一个 `Teacher` 对象,并调用它们的 `input` 和 `output` 函数来输入和输出数据。
阅读全文