关闭

14.2.2

109人阅读 评论(0) 收藏 举报
  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. }  
0
0
查看评论

c++ primer —— 练习 14.2

//一个书店的应用程序#include <string> #include <iostream> using namespace std; class Sales_data { friend std::istream& operator>>(std...
  • mazhuang521
  • mazhuang521
  • 2016-03-30 21:30
  • 160

第十四章 14.2.2节练习

练习14.9 为你的Sales_data类定义输入运算符。
  • chxw098
  • chxw098
  • 2014-09-16 14:55
  • 489

14.2.2 Operator overloading

All unary and binary operators have predefined implementations that are automatically available in anyexpression. In addition to the predefined implem...
  • masterall
  • masterall
  • 2005-12-11 23:49
  • 956

14.2.2 InnoDB Multi-Versioning InnoDB 多版本

14.2.2 InnoDB Multi-Versioning InnoDB 多版本: InnoDB 是一个多版本的存储引擎: 它保留信息关于改变数据的老版本,为了支持事务功能 比如并发和回滚。 这些信息是存储在tablespace 在一个数据结果被称为回滚段(Oracle也有类似的数据结构)....
  • zhaoyangjian724
  • zhaoyangjian724
  • 2016-06-03 15:20
  • 138

14.2.2泛化的java引用

P353 Class引用是指向某个类型的Class对象, 在具体使用中,
  • hy6533
  • hy6533
  • 2014-05-27 16:49
  • 303

14.2.2 实现和运行颜色滤镜

14.2.2 实现和运行颜色滤镜       首先,我们将讨论一种特殊效果的类型:颜色滤镜。稍后,我们将扩展这个应用程序,处理任何效果,实现模糊的示例。彩色滤镜只更改图像的色调,所以很简单。这个滤镜为每个像素计算新的颜色,无需访问图像的其他部分。正...
  • hadstj
  • hadstj
  • 2011-12-04 21:20
  • 475

《算法导论》笔记 第14章 14.2 如何扩张数据结构

【笔记】 四个步骤: 1) 选择基础数据  2) 3) 4) 【练习】
  • cyendra
  • cyendra
  • 2014-04-25 11:15
  • 997

14.2.2 BIND的获取与安装

14.2.2  BIND的获取与安装在Red Hat Enterprise Linux 5下安装BIND服务器可以有两种方式,一种是源代码方式安装,一种是RPM软件包方式安装。源代码可以从ftp://ftp.isc.org处下载,目前最新的版本是9.5.0版,文件名是bind-9.5.0-...
  • Linuxdianc
  • Linuxdianc
  • 2009-12-21 08:54
  • 360

DevExpress VCL 15.2.2 Full Source XE10.1 Berlin

下载:http://maxwoods.ctfile.com/fs/YAa153945912
  • MaxWoods
  • MaxWoods
  • 2016-07-20 13:51
  • 4695

14.2.2 The InnoDB Transaction Model and Locking InnoDB 事务模型和锁定

14.2.2 The InnoDB Transaction Model and Locking InnoDB 事务模型和锁定14.2.2.1 InnoDB Lock Modes 14.2.2.2 Consistent Nonlocking Reads 14.2.2.3 Locking Read...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2015-11-05 14:09
  • 299
    个人资料
    • 访问:13111次
    • 积分:819
    • 等级:
    • 排名:千里之外
    • 原创:72篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档