用c++编写一个学生和教师的数据输入和显示程序。学生的数据有编号、姓名、性别、年龄、系别和成绩,教师数据有编号、姓名、性别、年龄、职称和部门。要求将编号、姓名、性别、年龄的输入和显示设计成一个类Person,并做为学生类Student和教师类Teacher的基类。)
时间: 2023-07-10 12:17:49 浏览: 102
好的,这是一个较为复杂的程序,需要用到继承和多态等知识。以下是一份示例代码,仅供参考:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义基类Person
class Person {
protected:
int id;
string name;
char gender;
int age;
public:
void input() {
cout << "请输入编号、姓名、性别、年龄(用空格分隔):" << endl;
cin >> id >> name >> gender >> age;
}
void display() {
cout << "编号:" << id << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
cout << "年龄:" << age << endl;
}
};
// 定义派生类Student
class Student : public Person {
private:
string department;
float score;
public:
void input() {
Person::input();
cout << "请输入系别和成绩(用空格分隔):" << endl;
cin >> department >> score;
}
void display() {
Person::display();
cout << "系别:" << department << endl;
cout << "成绩:" << score << endl;
}
};
// 定义派生类Teacher
class Teacher : public Person {
private:
string position;
string department;
public:
void input() {
Person::input();
cout << "请输入职称和部门(用空格分隔):" << endl;
cin >> position >> department;
}
void display() {
Person::display();
cout << "职称:" << position << endl;
cout << "部门:" << department << endl;
}
};
int main() {
Student s;
Teacher t;
cout << "请输入学生的信息:" << endl;
s.input();
cout << "请输入教师的信息:" << endl;
t.input();
cout << "学生的信息如下:" << endl;
s.display();
cout << "教师的信息如下:" << endl;
t.display();
return 0;
}
```
在这份代码中,我们定义了一个基类Person,它包含编号、姓名、性别、年龄四个属性,并实现了输入和显示的方法。然后分别定义了两个派生类Student和Teacher,它们继承自Person,并分别添加了学生和教师特有的属性和方法。最后在main函数中,我们创建了一个学生对象和一个教师对象,分别进行了输入和显示操作。
需要注意的是,这份代码只是一个示例,实际应用中可能还需要添加异常处理、数据存储等功能。
阅读全文