天天看点

面向对象程序设计(多继承)--简单

//

//  main.cpp

//  duojichengc++

//

//  Created by duanqibo on 2019/7/12.

//  Copyright © 2019年 duanqibo. All rights reserved.

//  面向对象程序设计--多继承

/*

 定义基类employee,基中包括:

 4个数据成员:eName,eAge,Job,Wage

 构造函数,为4个数据成员赋值

 一个成员函数,输出4个数据成员的值

 定义另一个基类student,其中包括:

 3个数据成员:sName,sSex,Score

 构造函数,为3个数据成员赋值

 一个成员函数,输出3个数据成员的值

 定义派生类enginMaster类的对象数组,并为其中每个对象的数据成员赋初值

 循环输出对象数组中每个对象的数据成员

 */

#include <iostream>

#include <string>

using namespace std;

//定义老师类

class employee

{

protected:

    string eName;

    int eAge;

    string eJob;

    int eWage;

public:

    employee(string name,int age,string job,int wage)

    {

        eName=name;

        eAge=age;

        eJob=job;

        eWage=wage;

    }

    void eShow()

    {

        cout<<"职工姓名:"<<eName<<"  ";

        cout<<"职工年龄:"<<eAge<<"  ";

        cout<<"工作岗位:"<<eJob<<endl;

        cout<<"工资:"<<eWage<<endl;

    }

};

//定义学生类

class student

{

protected:

    string sName;

    char sSex;

    float sScore;

public:

    student(string name,char sex,float score)

    {

        sName=name;

        sSex=sex;

        sScore=score;

    }

    void sShow()

    {

        cout<<"学生姓名:"<<sName<<"   ";

        cout<<"学生性别:"<<sSex<<"   ";

        cout<<"考试成绩:"<<sScore<<"   ";

    }

};

//定义多继承的工程硕士类

class enginMaster:public employee,public student

{

private:

    float Fee;

public:

    enginMaster(string name,int age,char sex,string job,float score,float wage,float fee):employee(name,age,job,wage),student(name,sex,score)

    {

        Fee=fee;

    }

    void show()

    {

        cout<<eName<<'\t'<<eAge<<'\t'<<sSex<<'\t'<<eJob<<'\t';

        cout<<sScore<<'\t'<<eWage<<'\t'<<Fee<<endl;

    }

};

//主函数

int main(int argc, const char * argv[])

{

    enginMaster master[5]={enginMaster("张京",26,'m',"技术",87,6800,12000),

        enginMaster("王莹",26,'w',"会计",87,6800,12000),

        enginMaster("李玉",26,'w',"文员",87,6800,12000),

        enginMaster("刘凡",26,'m',"主管",87,6800,12000),

        enginMaster("陈荣",26,'m',"技术",87,6800,12000)

    };

    //输出对象数组

    cout<<"号"<<'\t'<<"姓名"<<'\t'<<"年龄"<<'\t'<<"性别"<<'\t'<<"岗位"<<'\t'<<"成绩"<<'\t';

    cout<<"工资"<<'\t'<<"学费"<<endl;

    for(int i=0;i<5;i++)

    {

        cout<<i<<'\t';

        master[i].show();

    }

    return 0;

}

 运行结果: