9.分别定义Teacher(教师)类和 Cadre(千部)类,采用多重继承方式由这两个类派生出新类 Teacher_ Cadre(教师兼干部)类。要求: (1)在两个基类中都包含姓名、年龄 性别、地址、电话 等数据成员。 (2)在Teacher类中还包含数据成员 title(职称),在 Cadre 类中还包含数据成员 post(职务)。在Teacher_ Cadre 类中还包含数据成员wages(工资)。 (3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名宇,在引用这些数据成员时,指定作用域。 (4)在类体中声明成员函数,在类外定义成员函数。 (5)在派生类 Teacher_ Cadre的成员两数show 中调用 Teacher 类中的display 函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout 语句输出职务与工资。
时间: 2023-12-10 19:38:09 浏览: 207
多重继承综合举例-谭浩强c语言
```C++
#include<iostream>
using namespace std;
class Teacher{
protected:
string name;
int age;
char gender;
string address;
string phone;
string title;
public:
void display(){
cout<<"Name: "<<name<<endl;
cout<<"Age: "<<age<<endl;
cout<<"Gender: "<<gender<<endl;
cout<<"Address: "<<address<<endl;
cout<<"Phone: "<<phone<<endl;
cout<<"Title: "<<title<<endl;
}
};
class Cadre{
protected:
string name;
int age;
char gender;
string address;
string phone;
string post;
public:
void display(){
cout<<"Name: "<<name<<endl;
cout<<"Age: "<<age<<endl;
cout<<"Gender: "<<gender<<endl;
cout<<"Address: "<<address<<endl;
cout<<"Phone: "<<phone<<endl;
cout<<"Post: "<<post<<endl;
}
};
class Teacher_Cadre:public Teacher, public Cadre{
private:
double wages;
public:
void show(){
Teacher::display();
cout<<"Post: "<<Cadre::post<<endl;
cout<<"Wages: "<<wages<<endl;
}
};
int main(){
Teacher_Cadre tc;
tc.name="Tom";
tc.age=30;
tc.gender='M';
tc.address="Beijing";
tc.phone="123456789";
tc.title="Professor";
tc.post="Manager";
tc.wages=10000;
tc.show();
return 0;
}
```
阅读全文