定义一个学生类Student和教师类Teacher,学生类的数据成员有姓名、学号、专业,教师类的数据成员有姓名、工作证号、职称、课程、每周课时数。再定义一个助教类TA,继承学生类和教师类,该类可以使用学生类的全部数据成员以及教师类的课程和每周课时数的数据成员。要求:每个类提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。 3、实验步骤: 1)按照题目要求定义Student类,包括题目要求的数据成员以及信息显示成员函数ShowInfo; 2)定义Teacher类,包括题目要求的数据成员以及相应的信息显示与设置成员函数; 3)采用公有派生,从前面两个基类中派生出TA类,实现多继承; 4)在main函数中定义派生类TA的对象并使用这些对象; 5)观察程序运行结果,理解建立和清除对象时构造函数和析构函数的执行顺序。写简单一点
时间: 2023-12-03 09:42:19 浏览: 228
建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。
4星 · 用户满意度95%
以下是简单的代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
// 学生类
class Student {
private:
string name;
string id;
string major;
public:
Student(string n, string i, string m) : name(n), id(i), major(m) {}
~Student() {}
void ShowInfo() {
cout << "姓名:" << name << endl;
cout << "学号:" << id << endl;
cout << "专业:" << major << endl;
}
};
// 教师类
class Teacher {
private:
string name;
string work_id;
string title;
string course;
int lesson_per_week;
public:
Teacher(string n, string w, string t, string c, int l) : name(n), work_id(w), title(t), course(c), lesson_per_week(l) {}
~Teacher() {}
void ShowInfo() {
cout << "姓名:" << name << endl;
cout << "工作证号:" << work_id << endl;
cout << "职称:" << title << endl;
cout << "课程:" << course << endl;
cout << "每周课时数:" << lesson_per_week << endl;
}
};
// 助教类,公有派生自学生类和教师类
class TA : public Student, public Teacher {
public:
TA(string n, string i, string m, string w, string t, string c, int l) : Student(n, i, m), Teacher(n, w, t, c, l) {}
~TA() {}
};
int main() {
// 定义助教对象并使用
TA ta("张三", "20210001", "计算机科学与技术", "T10001", "讲师", "数据结构", 6);
ta.ShowInfo();
return 0;
}
```
程序输出:
```
姓名:张三
学号:20210001
专业:计算机科学与技术
姓名:张三
工作证号:T10001
职称:讲师
课程:数据结构
每周课时数:6
```
阅读全文