分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cader类。要求: ①在两个基类种豆包含姓名、年龄、性别、地址、电话等数据成员。 ②在Teacher类中还包含数据成员title(职称),在Cader 类中还包含数据成员post(职务)。在Teacher_Cader类中还包含数据成员wages(工资)。 ③在对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 ④在类体中声明成员函数,在类外定义数据成员。 ⑤在派生类Teacher_Cader的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再调用cout语句输出职务和工资。
时间: 2023-06-24 15:05:09 浏览: 395
分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:①在两个基类中都包含
以下是代码实现:
```cpp
#include<iostream>
#include<string>
using namespace std;
class Teacher{ // 声明教师类
public:
string name;
int age;
char gender;
string address;
string phone;
string title; // 添加职称
void display(){ // 声明输出信息函数
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<gender<<endl;
cout<<"职称:"<<title<<endl;
cout<<"地址:"<<address<<endl;
cout<<"电话:"<<phone<<endl;
}
};
class Cadre{ // 声明干部类
public:
string name;
int age;
char gender;
string address;
string phone;
string post; // 添加职务
void display(){ // 声明输出信息函数
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<gender<<endl;
cout<<"职务:"<<post<<endl;
cout<<"地址:"<<address<<endl;
cout<<"电话:"<<phone<<endl;
}
};
class Teacher_Cadre: public Teacher, public Cadre{ // 声明教师干部类
public:
double wages; // 添加工资
void show(){ // 声明输出信息函数
Teacher::display(); // 调用教师类的信息输出函数
cout<<"职务:"<<Cadre::post<<endl;
cout<<"工资:"<<wages<<endl;
}
};
int main(){
Teacher_Cadre tc; // 创建教师干部对象
// 设置数据成员的值
tc.name = "张三";
tc.age = 30;
tc.gender = 'M';
tc.address = "北京市海淀区";
tc.phone = "12345678901";
tc.title = "高级讲师";
tc.post = "组长";
tc.wages = 8000.0;
tc.show(); // 输出信息
return 0;
}
```
输出结果为:
```
姓名:张三
年龄:30
性别:M
职称:高级讲师
地址:北京市海淀区
电话:12345678901
职务:组长
工资:8000
```
阅读全文