多重继承的简单例子。
//多重继承 #include<iostream> #include<string.h> using namespace std; //--------------------teacher 类 class Teacher { public: void display1(); Teacher(int x,char y[20],char title[20]); protected: int age; char name[20]; char title[20]; } ; void Teacher::display1() { cout<<"age"<<age<<endl<<"name"<<name<<endl<<"title"<<title<<endl; } Teacher::Teacher(int x,char y[20],char z[20]) { age=x; strcpy(name,y); strcpy(title,z); } //--------------------------------Student类 class Student { public: Student(int x,int y); void display2(); protected: int sex; int score; }; Student::Student(int x,int y) { sex=x; score=y; } void Student::display2() { cout<<"sex"<<sex<<endl<<"score"<<score<<endl; } //--------------------------------------graduate class Graduate:public Teacher,public Student { public: Graduate(int x,char y[20],char z[20],int i,int j,int w); void display3(); private: int wage; }; Graduate::Graduate(int x,char y[20],char z[20],int i,int j,int w):Teacher(x,y,z),Student(i,j) { wage=w; } void Graduate::display3() { display1(); display2(); cout<<"wage"<<wage<<endl; } //--------------------------------------main int main() { Graduate a(25,"yangyang","professor",1,100,15000); a.display3(); } 注意,想要用一个名字来解决这些问题,即用display,想想怎么做?public继承,可以直接调用protected的成员吧?
