天天看點

面向對象程式設計(多繼承)--簡單

//

//  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;

}

 運作結果: