第十二周上机实践项目1.3

  1. /* 
  2.  *Copyright(c) 2016.烟台大学计算机与控制工程学院 
  3.  *ALL rights  reserved. 
  4.  *文件名称:text11.cpp  
  5.  *问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重 
  6.  *继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。<pre class="cpp" name="code">(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。  
  7. (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。  
  8. (3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。  
  9. (4)在类体中声明成员函数,在类外定义成员函数。  
  10. (5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。 
  11.  */  
  12. #include <iostream>  
  13. using namespace std;  
  14. class Teacher  
  15. {  
  16. public:  
  17.     Teacher(string nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),adress(ad),number(t) { }  
  18.     void show();  
  19. protected:  
  20.     string name;  
  21.     int age;  
  22.     char sex;  
  23.     string adress;  
  24.     string number;  
  25.     string title;  
  26.   
  27. };  
  28. void Teacher::show()  
  29. {  
  30.     cout<<"name:"<<name<<endl;  
  31.     cout<<"age:"<<age<<endl;  
  32.     cout<<"sex:"<<sex<<endl;  
  33.     cout<<"address:"<<adress<<endl;  
  34.     cout<<"number:"<<number<<endl;  
  35.     cout<<"title:"<<title<<endl;  
  36.   
  37. }  
  38. class Cadre  
  39. {  
  40. public:  
  41.     Cadre(string nam,int a,char s,string p,string ad,string t):name(nam),age(a),sex(s),post(p),adress(ad),number(t) {}  
  42.     void show();  
  43. protected:  
  44.     string name;  
  45.     int age;  
  46.     char sex;  
  47.     string adress;  
  48.     string number;  
  49.     string post;  
  50.   
  51. };  
  52. void Cadre::show()  
  53. {  
  54.     cout<<"name:"<<name<<endl;  
  55.     cout<<"age:"<<age<<endl;  
  56.     cout<<"sex:"<<sex<<endl;  
  57.     cout<<"post:"<<post<<endl;  
  58.     cout<<"address:"<<adress<<endl;  
  59.     cout<<"number:"<<number<<endl;  
  60. };  
  61. class Teacher_Cadre:public Teacher,public Cadre  
  62. {  
  63.     public:  
  64.     Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w);  
  65.     void show( );  
  66. private:  
  67.     float wage;  
  68. };  
  69. Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w):  
  70.     Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) {}  
  71.   
  72. void Teacher_Cadre::show( )  
  73. {  
  74.     Teacher::show();  
  75.     cout<<"post:"<<Cadre::post<<endl;  
  76.     cout<<"wages:"<<wage<<endl;  
  77. }  
  78.   
  79. int main( )  
  80. {  
  81.     Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5);  
  82.     te_ca.show( );  
  83.     return 0;  
  84. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值