一 问题及代码
/*
* 文件名称: c++第五次作业
* 作 者: 王水彪
* 完成日期: 2016 年 5 月 7 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:略
* 输入描述: 无
* 问题描述: 无
* 程序输出: 略
* 问题分析: 略
* 算法设计: 无
*/
#include<iostream>
#include<string>
using namespace std;
class Teacher
{
private:
string name;
int age;
string sex;
string title;
public:
Teacher(string,int,string,string);
void display();
};
Teacher::Teacher(string _name,int _age,string _sex,string _title):name(_name),age(_age),sex(_sex),title(_title){}
void Teacher::display()
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"职称:"<<title<<endl;
}
class Cadre
{
private:
string name;
int age;
string sex;
string post;
public:
Cadre(string,int,string,string);
string setPost(string);
string getPost();
};
Cadre::Cadre(string _name,int _age,string _sex,string _post):name(_name),age(_age),sex(_sex),post(_post){}
string Cadre::getPost()
{
return post;
}
class Teacher_Cadre:public Teacher,public Cadre
{
private:
double wages;
public:
Teacher_Cadre(string,int,string,string,string,double);
void show();
};
Teacher_Cadre::Teacher_Cadre(string _name,int _age,string _sex,string _title,string _post,double _wages):
wages(_wages),Teacher(_name,_age,_sex,_title),Cadre(_name,_age,_sex,_post){}
void Teacher_Cadre::show()
{
Teacher::display();
cout<<"职务:"<<Cadre::getPost()<<endl;
cout<<"工资:"<<wages<<endl;
}
int main()
{
Teacher_Cadre tc("曾辉",42,"男","副教授","主任",1534.5);
tc.show();
return 0;
}
二 运行结果
三 心得体会
主要就是考验多继承的问题,虽然之间被一个错误耽误了挺久,但是还是做出来了
四 知识点总结
多继承,构造函数用来访问其私有数据成员,普通函数需要有其类加作用域限定符才能访问