多重继承实例:研究生承担教学任务
#include<iostream> using namespace std; class Teacher { public: Teacher(string nam,int a, string t); void display_t( ); protected: string name; int age; string title; }; class Student { public: Student(string nam,char s,float sco); void display_s( ); protected: string name1; char sex; float score; }; class Graduate:public Teacher,public Student { public: Graduate(string nam,int a,char s, string t,float sco,float w); void display_g( ) ; private: float wage; }; Teacher::Teacher(string nam,int a, string t) { name=nam; age=a; title=t; } void Teacher::display_t( ) { cout<<"name:"<<name<<endl; cout<<"age"<<age<<endl; cout<<"title:"<<title<<endl; } Student::Student(string nam,char s,float sco) { name1=nam; sex=s; score=sco; } void Student::display_s( ) { cout<<"name:"<<name1<<endl; cout<<"sex:"<<sex<<endl; cout<<"score:"<<score<<endl; } Graduate::Graduate(string nam,int a,char s, string t,float sco,float w):Teacher(nam,a,t),Student(nam,s,sco),wage(w) { } void Graduate::display_g( ) { cout<<"name:"<<name<<endl; //cout<<"name:"<<Teacher::name<<endl; //cout<<"name:"<<Student::name1<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"score:"<<score<<endl; cout<<"title:"<<title<<endl; cout<<"wages:"<<wage<<endl; //display_t(); //display_s(); } int main( ) { Graduate grad1("Wang-li",24,'f',"assistant",89.5,1234.5); grad1.display_g( ); return 0; }