第十二周 项目一 教师兼干部类

来源:互联网 发布:慧通网络直播聊天室 编辑:程序博客网 时间:2024/04/29 22:27

问题及代码:

/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:Project.cpp*作    者:chenqin.*完成日期:2015年5月27日*版 本 号:v1.0**问题描述: 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。(4)在类体中声明成员函数,在类外定义成员函数。(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。*程序输入:略*程序输出:略*/#include <iostream>#include <string>using namespace std;class Teacher{public:    Teacher(string n,int a,char s,string tit,string ad,string num);    void display();protected:    string name;    int age;    char sex;    string title;    string addr;    string number;};Teacher::Teacher(string n,int a,char s,string tit,string ad,string num):name(n),age(a),sex(s),title(tit),addr(ad),number(num){}void Teacher::display(){    cout<<"name:"<<name<<endl;    cout<<"age"<<age<<endl;    cout<<"sex:"<<sex<<endl;    cout<<"title:"<<title<<endl;    cout<<"address:"<<addr<<endl;    cout<<"number:"<<number<<endl;}class Cadre{public:    Cadre(string n,int a,char s,string p,string ad,string num);    void display();protected:    string name;    int age;    char sex;    string post;    string addr;    string number;};Cadre::Cadre(string n,int a,char s,string p,string ad,string num):name(n),age(a),sex(s),post(p),addr(ad),number(num){}void Cadre::display(){    cout<<"name:"<<name<<endl;    cout<<"age:"<<age<<endl;    cout<<"sex:"<<sex<<endl;    cout<<"post:"<<post<<endl;    cout<<"address:"<<addr<<endl;    cout<<"number:"<<number<<endl;}class Teacher_Cadre:public Teacher,public Cadre{public:    Teacher_Cadre(string n,int a,char s,string p,string tit,string ad,string num,double w):Teacher(n,a,s,tit,ad,num),Cadre(n,a,s,p,ad,num),wages(w){}    void show();private:    double wages;};void Teacher_Cadre::show(){    Teacher::display();    cout<<"post:"<<Cadre::post<<endl;    cout<<"wages:"<<wages<<endl;}int main(){    Teacher_Cadre T_C("张红",36,'m',"jiedairen","qiantai","飞山街","15269326657",3500);    T_C.show();    return 0;}

 

运行结果:

知识点总结:新的内容:class Teacher_Cadre:public Teacher,public Cadre (由两个类派生出一个新类)。

0 0
原创粉丝点击