用c++实现分别声明 Teacher(教师)类和 Cadrce(干部) 类,采用多重继承方式由这两个 类派生出新类 Teacher_Cadre(教师兼干部) 。要求: ①在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 ②在 Teacher 类中还包含数据成员 title (职称) , 在 Cadre 类中还包含数据成员 post (职 务) 。在 Teacher_Cadre 类中还包含数据成员 wages(工资) 。 ③对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这 些数据成员时,指定作用域。 ④在类体中声明成员函数,在类外定义成员函数。 ⑤在派生类 Teacher_Cadre 的成员函数 show 中调用 Teacher 类中的 display 函数, 输出 姓名、年龄、性别、职称、地址、电话,然后再用 cout 语句输出职务与工资。
时间: 2024-03-29 15:42:14 浏览: 149
以下是用C++实现的代码:
```cpp
#include <iostream>
using namespace std;
class Teacher {
protected:
string name;
int age;
string gender;
string address;
string phone;
string title;
public:
void display() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "性别:" << gender << endl;
cout << "地址:" << address << endl;
cout << "电话:" << phone << endl;
cout << "职称:" << title << endl;
}
};
class Cadre {
protected:
string name;
int age;
string gender;
string address;
string phone;
string post;
public:
void display() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "性别:" << gender << endl;
cout << "地址:" << address << endl;
cout << "电话:" << phone << endl;
cout << "职务:" << post << endl;
}
};
class Teacher_Cadre : public Teacher, public Cadre {
private:
int wages;
public:
void show() {
Teacher::display();
cout << "职务:" << post << endl;
cout << "工资:" << wages << endl;
}
};
int main() {
Teacher_Cadre tc;
tc.name = "张三";
tc.age = 30;
tc.gender = "男";
tc.address = "北京市朝阳区";
tc.phone = "123456789";
tc.title = "高级教师";
tc.post = "班主任";
tc.wages = 8000;
tc.show();
return 0;
}
```
运行结果:
```
姓名:张三
年龄:30
性别:男
地址:北京市朝阳区
电话:123456789
职称:高级教师
职务:班主任
工资:8000
```
阅读全文