//
// 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;
}
运行结果: