//班正玲
#include<iostream>
#include<string>
using namespace std;
//多重继承
//定义2个基类
//教师 学生
//研究生继承两个类,是多重继承
class Teacher
{
public:
Teacher(string nam_t,int a,string t):name(nam_t),age(a),title(t){}
void display_T()
{
cout<<"name: "<<name<<endl;
cout<<"age: "<<age<<endl;
cout<<"title: "<<title<<endl;
}
protected:
string name;
int age;
string title;//教师职称
};
//第二个基类学生
class Student
{
public:
Student(string nam_s,char s,float sco):name(nam_s),sex(s),score(sco){}
void display_S()
{
cout<<"name: "<<name<<endl;
cout<<"sex: "<<sex<<endl;
cout<<"score: "<<score<<endl;
}
protected:
string name;
char sex;
float score;
};
//子类研究生多重继承
class Graduate:public Teacher,public Student
{
public:
Graduate(string nam,int a,string t,char s,float sco,float w):Teacher(nam,a,t),Student(nam,s,sco),wage(w){}
void display_G(){
cout<<"name: "<<Teacher::name<<endl;
cout<<"age: "<<age<<endl;
cout<<"title: "<<title<<endl;
cout<<"sex: "<<sex<<endl;
cout<<"score: "<<score<<endl;
cout<<"wage: "<<wage<<endl;
}
protected:
float wage;
};
void main()
{
Teacher t1("Zhao",48,"Prof");
Student s1("Sun",'F',98);
Graduate g1("Li",18,"Assi",'F',85.2,8900);
g1.display_G();
}