问题及代码:
/*
* Copyright (c) 2015, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:李楠
* 完成日期:2015年5月22日
* 版 本 号:v1.0
*
* 问题描述:分别定义一个教师类和一个干部类,采用多重继承方式由这两个类派生出心类教师兼干部类。
* 输入描述:略
* 程序输出:略
*/
#include <iostream>
using namespace std;
class Teacher
{
protected:
string name;
int age;
int sex;//women 1,man 0
string addr;
string telenum;
string title;
public:
Teacher(){};
Teacher(string n,int a,int s,string ad,string t,string ti);
void display();
};
Teacher::Teacher(string n,int a,int s,string ad,string t,string ti)
{
name=n;
age=a;
sex=s;//women 1,man 0
addr=ad;
telenum=t;
title=ti;
}
void Teacher::display()
{
cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
cout<<"sex:";
if(sex==0)
cout<<"man"<<endl;
else
cout<<"woman"<<endl;
cout<<"address:"<<addr<<endl;
cout<<"phonenumber:"<<telenum<<endl;
cout<<"title:"<<title<<endl;
}
class Cadre
{
protected:
string name;
int age;
int sex;//women 1,man 0
string addr;
string telenum;
string post;
public:
Cadre(){};
Cadre(string n,int a,int s,string ad,string t,string p);
};
Cadre::Cadre(string n,int a,int s,string ad,string t,string p)
{
name=n;
age=a;
sex=s;//women 1,man 0
addr=ad;
telenum=t;
post=p;
}
class Teacher_Cadre:public Teacher,public Cadre
{
private:
double wages;
public:
Teacher_Cadre(string n,int a,int s,string ad,string t,string ti,string p,double w);
void show();
} ;
Teacher_Cadre::Teacher_Cadre(string n,int a,int s,string ad,string t,string ti,string p,double w):
Teacher(n,a,s,ad,t,ti),Cadre(n,a,s,ad,t,p),wages(w){}
void Teacher_Cadre::show()
{
display();
cout<<"post:"<<Cadre::post<<endl;
cout<<"wages:"<<wages<<endl;
}
int main()
{
Teacher_Cadre tc("老王",51,0,"烟台","13854826713","教授","副校长",4500);
tc.show();
return 0;
}
运行结果:
知识点总结:
多重继承的知识,注意构造函数!!
学习心得:
啦啦啦~难度不是很大~