第十六週(OJ 練習一 5)——多重繼承。
阿新 • • 發佈:2019-01-08
/* 02.*煙臺大學計算機學院學生 03.*All right reserved. 04.*檔名稱*煙臺大學計算機學院學生 05.*All right reserved. 06.*檔名稱:多重繼承 07.*作者:王洪海 08.*完成日期:2013年6月11日 09.*版本號:v1.0 10.*對任務及求解方法的描述部分:多重繼承 11.*我的程式: 12.*/ #include<string> #include <iostream> using namespace std; class Teacher { public: Teacher(string nam,int a,char s,string tit,string ad,string t); void display(); protected: string name; int age; char sex; string title; string addr; string tel; }; class Cadre { public: Cadre(string nam,int a,char s,string p,string ad,string t); void display(); protected: string name; int age; char sex; string post; string addr; string tel; }; class Teacher_Cadre:public Teacher,public Cadre { public: Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w); void show( ); private: float wage; }; /* C++程式碼 */ Teacher::Teacher(string nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),addr(ad),tel(t){} void Teacher::display() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"title:"<<title<<endl; cout<<"address:"<<addr<<endl; cout<<"tel:"<<tel<<endl; } Cadre::Cadre(string nam,int a,char s,string p,string ad,string t): name(nam),age(a),sex(s),post(p),addr(ad),tel(t){} void Cadre::display() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"post:"<<post<<endl; cout<<"address:"<<addr<<endl; cout<<"tel:"<<tel<<endl; } Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w): Teacher(nam,a,s,tit,ad,t),Cadre(nam,a,s,p,ad,t),wage(w){} void Teacher_Cadre::show() { Teacher::display(); cout<<"post:"<<post<<endl; cout<<"wages:"<<wage<<endl; } int main( ) { string name,title,post,address,tele; int age; char sex; float wages; cin>>name>>age; cin>>sex>>title>>post; cin.ignore(2,'\n'); getline(cin,address); cin>>tele>>wages; Teacher_Cadre te_ca(name,age,sex,title,post,address,tele,wages); te_ca.show( ); return 0; }
執行結果,如下圖: