第11周项目4—教师兼干部类

来源:互联网 发布:文明5for mac中文版 编辑:程序博客网 时间:2024/05/04 04:32
/*02.2.*Copyright(c) 2016.烟台大学计算机与控制工程学院03.3.*ALL rights  reserved.04. 4.*文件名称:main.cpp05. 5.*作者:孙亚茹06.6.*完成日期:2016年5月24日07.7.*问题描述:自我定义多重继承方式的新类Teacher_Cadre。08.8.*/#include <iostream>#include<cstring>using namespace std;class Teacher{protected:    string name;    int age;    char sex;    string address;    int phone;    string title;public:    Teacher(string name1,int age1,char sex1,string address1,int phone1,string title1):name(name1),age(age1),sex(sex1),address(address1),phone(phone1),title(title1){};    void display();};void Teacher::display(){    cout<<"姓名为:"<<name<<endl;    cout<<"年龄为:"<<age<<endl;    cout<<"性别为:"<<sex<<endl;    cout<<"职称为:"<<title<<endl;    cout<<"地址为:"<<address<<endl;    cout<<"电话为:"<<phone<<endl;}class Cadre{protected:    string name;    int age;    char sex;    string address;    int phone;    string post;public:    Cadre(string name2,int age2,char sex2,string address2,int phone2,string post2):name(name2),age(age2),sex(sex2),address(address2),phone(phone2),post(post2){};};class Teacher_Cadre:public Teacher,public Cadre{private:    double wages;public:    Teacher_Cadre(string name2,int age2,char sex2,string address2,int phone2,string post2,string title1,double wages1):Teacher(name2,age2,sex2,address2,phone2,title1),Cadre(name2,age2,sex2,address2,phone2,post2),wages(wages1){};    void show();}; void Teacher_Cadre::show() {     Teacher::display();     cout<<"职务为:"<<post<<endl;     cout<<"工资为:"<<wages<<endl; }int main(){    Teacher_Cadre sun("孙亚茹",30,'M',"烟台15road",22334,"主管","工程师",10000);    sun.show();    return 0;}

总结:

         在多继承中如果两个基类中有相同名字的数据成员,在派生类的构造函数中写一个即可,但对两个基类初始化时都要写出来。

0 0