C++走向远洋——46(教师兼干部类、多重继承、派生)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年5月8日 * 版本号:V1.0 * 问题描述:根据类图,写出程序 * 程序输入:无 * 程序输出:见运行结果 */ #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; }; 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; } 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; }; 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; } 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; }; Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w): Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) {} void Teacher_Cadre::show( ) { Teacher::display(); cout<<"post:"<<Cadre::post<<endl; cout<<"wages:"<<wage<<endl; } int main( ) { Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5); te_ca.show( ); return 0; }
运行结果: