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

/*
 * Copyright (c) 2014, 烟台大学计算机学院
 * All rights reserved.
 * 作    者:纪丽娜
 * 完成日期:2014 年05月13日
 * 版 本 号:v1.0
 * 问题描述:
(第11章习题9)分别定义Teacher(教师)类和Cadre(干部)类,
采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:
(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),
在Teacher_Cadre类中还包含数据成员wages(工资)。
(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,
在引用这些数据成员时,指定作用域。
(4)在类体中声明成员函数,在类外定义成员函数。
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,
输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。
*/
#include <iostream>
using namespace std;
class Teacher
{
   protected:
      string name;
      int age;
      int sex; //1代表男的,0代表女的
      string addr;
      string title;
  public:
     Teacher(string nam,int ag,int se,string ad,string tit):name(nam),age(ag),sex(se),addr(ad),title(tit){}
     void display();
};
void Teacher::display()
{
    cout<<"name: "<<name<<endl;
    cout<<"age: "<<age<<endl;
    cout<<"sex: ";
    (sex==1)?cout<<"man\n":cout<<"woman\n";//1代表男的,0代表女的
    cout<<"addr: "<<addr<<endl;
    cout<<"title: "<<title<<endl;
}


class  Cadre
{
protected:
      string name;
      int age;
      int sex; //1代表男的,0代表女的
      string addr;
      string post;
public:
    Cadre (string nam,int ag,int se,string ad,string pos):name(nam),age(ag),sex(se),addr(ad),post(pos){}
    void display();
};
void Cadre::display()
{
    cout<<"name: "<<name<<endl;
    cout<<"age: "<<age<<endl;
    cout<<"sex: ";
    (sex==1)?cout<<"man\n":cout<<"woman\n"; //1代表男的,0代表女的
    cout<<"addr: "<<addr<<endl;
    cout<<"post:"<<post<<endl;
}


class  Teacher_Cadre: public Teacher,public Cadre
{
protected:
    int wage;
public:
    Teacher_Cadre(string nam,int ag,int se,string ad,string tit,string pos,int wa):
    Teacher(nam,ag,se,ad,tit),Cadre(nam,ag,se,ad,pos),wage(wa){}
    void show();
};

void Teacher_Cadre::show()
{
    Teacher::display();
    cout<<"post:"<<post<<endl;
    cout<<"wages: "<<wage<<endl;
}
int main()
{
    Teacher_Cadre lk("nanana",23,1,"dezhouxiajin","mkf","CEO",450000);
    cout<<"1 , Teacher_Cadre: "<<endl;
    lk.show();
    cout<<"2 , Cadre: "<<endl;
    Cadre ln("lklklk",22,0,"lyilyi","CEO");
    ln.display();
    cout<<"3 , Teacher: "<<endl;
    Teacher erbi("cccddd",21,1,"dezhouxiajin","CEO");
    erbi.display();
    return 0;

}

猜你喜欢

转载自blog.csdn.net/u012369599/article/details/25709293