本关任务:编写一个输出学生和教师数据的程序,学生数据有编号、姓名、年龄、班号和成绩;教师数据有编号、姓名、年龄、职称和部门。要求声明一个person类,并作为学生数据操作类student和教师数据操作类teacher的基类。
时间: 2024-04-21 16:27:03 浏览: 64
好的,我知道了。针对您的问题,您可以使用以下的person类作为学生和教师数据操作类的基类,然后在子类中添加特定的属性。
```cpp
#include <iostream>
using namespace std;
class person {
private:
int id;
string name;
int age;
public:
person(int i, string n, int a): id(i), name(n), age(a){}
void showInfo() {
cout << "ID: " << id << endl;
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
class student: public person {
private:
int classNo;
int score;
public:
student(int i, string n, int a, int c, int s): person(i, n, a), classNo(c), score(s){}
void showInfo() {
person::showInfo();
cout << "Class No.: " << classNo << endl;
cout << "Score: " << score << endl;
}
};
class teacher: public person {
private:
string title;
string department;
public:
teacher(int i, string n, int a, string t, string d): person(i, n, a), title(t), department(d){}
void showInfo() {
person::showInfo();
cout << "Title: " << title << endl;
cout << "Department: " << department << endl;
}
};
int main() {
student s(1, "John", 18, 1, 90);
teacher t(2, "Mary", 30, "Professor", "Computer Science");
cout << "Student Information:" << endl;
s.showInfo();
cout << endl;
cout << "Teacher Information:" << endl;
t.showInfo();
cout << endl;
return 0;
}
```
在上面的代码中,person类是学生和教师类的基类,它包含了编号、姓名和年龄三个属性,并且提供了showInfo函数用于输出信息。
在student类中,我们添加了班级号和成绩两个属性,并重写了showInfo函数以输出完整的学生信息。
在teacher类中,我们添加了职称和部门两个属性,并重写了showInfo函数以输出完整的教师信息。
最后,在main函数中我们创建了一个学生对象s和一个教师对象t,并分别输出它们的信息。
阅读全文