14.1.2

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

vmware 14 pro 和密钥

2018年06月30日 64B 下载

DevExpress14.1.2 中文语言包

2015年04月12日 72KB 下载

devexpressvcl 14.1.2

2014年09月17日 31B 下载

VMware Workstation 14 注册机

2018年05月01日 64KB 下载

devExpress 14.1.2 full sources part05

2014年07月05日 31.96MB 下载

devExpress 14.1.2 full sources part01

2014年07月06日 49MB 下载

vm14 激活密钥

2018年03月27日 193B 下载

VMWare Workstation 14 序列号

2017年10月14日 308B 下载

没有更多推荐了,返回首页

关闭
关闭