本关任务:编写一个输出学生和教师数据的程序,学生数据有编号、姓名、年龄、班号和成绩;教师数据有编号、姓名、年龄、职称和部门。要求声明一个person类,并作为学生数据操作类student和教师数据操作类teacher的基类。 (1)定义Person类 int number1,age; //编号、年龄 char name[10];//姓名 Person() ://默认构造函数 Person(int i,int j,const char*p) : //带参构造函数 void disp()://数据输出 (
时间: 2024-04-21 13:27:01 浏览: 133
回答)好的,我理解了你的要求,我会为你编写一个学生和教师数据输出的程序,并且按照你的要求声明一个person类作为基类。
以下是程序代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
class Person {
public:
int number1, age; // 编号、年龄
char name[10]; // 姓名
Person() {} // 默认构造函数
Person(int i, int j, const char*p) { // 带参构造函数
number1 = i;
age = j;
strcpy(name, p);
}
void disp() { // 数据输出
cout << "编号:" << number1 << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
}
};
class Student : public Person { // 学生数据操作类
public:
int class_num, score; // 班号、成绩
Student(int i, int j, const char*p, int c, int s) : Person(i, j, p) { // 带参构造函数
class_num = c;
score = s;
}
void disp() { // 数据输出
Person::disp();
cout << "班号:" << class_num << endl;
cout << "成绩:" << score << endl;
}
};
class Teacher : public Person { // 教师数据操作类
public:
char title[10], department[10]; // 职称、部门
Teacher(int i, int j, const char*p, const char*t, const char*d) : Person(i, j, p) { // 带参构造函数
strcpy(title, t);
strcpy(department, d);
}
void disp() { // 数据输出
Person::disp();
cout << "职称:" << title << endl;
cout << "部门:" << department << endl;
}
};
int main() {
Student stu(1, 18, "Tom", 1, 90); // 创建一个学生对象
Teacher tea(2, 35, "Lucy", "教授", "计算机科学与技术"); // 创建一个教师对象
// 输出学生和教师数据
cout << "学生数据:" << endl;
stu.disp();
cout << endl;
cout << "教师数据:" << endl;
tea.disp();
cout << endl;
return 0;
}
```
注:为了方便测试,我在程序中直接创建了一个学生对象和一个教师对象,并输出了它们的数据。在实际使用中,可以根据需求进行修改。
阅读全文