问题及代码:
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cop
*作者:
*完成日期:2015年5月30日
*版本号:v1.0
*
*问题描述:
*输入描述:
*输出描述:
#include <iostream>
#include <string>
using namespace std;
class Teacher
{
public:
Teacher(string n,int a,char s,string ad,string tel,string ti);
void display();
protected:
string name;
int age;
char sex;
string addr;
string telephone;
string title;
};
Teacher::Teacher(string n,int a,char s,string ad,string tel,string ti)
{
name=n;
age=a;
sex=s;
addr=ad;
telephone=tel;
title=ti;
}
void Teacher::display()
{
string SEX;
switch(sex)
{
case 'm':SEX='man';break;
case 'f':SEX='woman';break;
}
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<SEX<<endl;
cout<<"职称:"<<title<<endl;
cout<<"地址:"<<addr<<endl;
cout<<"电话:"<<telephone<<endl;
}
class Cadre
{
public:
Cadre(string n,int a,char s,string ad,string tel,string p);
string post;
protected:
string name;
int age;
char sex;
string addr;
string telephone;
};
Cadre::Cadre(string n,int a,char s,string ad,string tel,string p)
{
name=n;
age=a;
sex=s;
addr=ad;
telephone=tel;
post=p;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
Teacher_Cadre(string n,int a,char s,string ad,string tel,string p,string t,double w);
void show();
protected:
double wages;
};
Teacher_Cadre::Teacher_Cadre(string n,int a,char s,string ad,string tel,string p,string t,double w):Teacher(n,a,s,ad,tel,t),Cadre(n,a,s,ad,tel,p),wages(w){}
void Teacher_Cadre::show()
{
Teacher::display();
cout<<"职务:"<<Cadre::post<<endl;
cout<<"工资:"<<wages<<endl;
}
int main( )
{
Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5);
te_ca.show( );
return 0;
}
运行结果: