编写一个学生和教师数据输入和显示程序。其中,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。 要求: (1)将编号、姓名输入和显示设计成一个类Person; (2)设计类Person的派生类:学生类Student和教师类Teacher; (3)在main函数中分别定义student、teacher的对象,完成相应功能。
时间: 2023-12-06 15:44:04 浏览: 211
以下是一个简单的学生和教师数据输入和显示程序,满足题目要求:
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
int id;
public:
Person(int id, string name) {
this->id = id;
this->name = name;
}
virtual void display() {
cout << "编号:" << id << endl;
cout << "姓名:" << name << endl;
}
};
class Student : public Person {
private:
string className;
int score;
public:
Student(int id, string name, string className, int score) : Person(id, name) {
this->className = className;
this->score = score;
}
virtual void display() {
Person::display();
cout << "班级:" << className << endl;
cout << "成绩:" << score << endl;
}
};
class Teacher : public Person {
private:
string title;
string department;
public:
Teacher(int id, string name, string title, string department) : Person(id, name) {
this->title = title;
this->department = department;
}
virtual void display() {
Person::display();
cout << "职称:" << title << endl;
cout << "部门:" << department << endl;
}
};
int main() {
Student s(1, "张三", "一班", 90);
Teacher t(1001, "李四", "教授", "计算机科学与技术系");
s.display();
cout << endl;
t.display();
return 0;
}
```
这个程序定义了一个Person类作为基类,Student和Teacher类作为派生类。在Person类中,我们定义了编号和姓名两个数据成员,以及一个display()函数来输出这两个数据成员的值。在Student类中,我们继承了Person类,并添加了班级和成绩两个数据成员,以及一个override了display()函数来输出这些数据成员的值。在Teacher类中也是同理。
在main函数中,我们分别定义了一个Student对象s和一个Teacher对象t,并调用它们的display()函数来输出它们的数据成员的值。
阅读全文