您的位置:首页 > 编程语言 > C语言/C++

C++第6次上机实验

2016-05-17 20:49 405 查看
一、问题及代码:

/*
* 文件名称:求两点间距离类
* 作 者:李锐
* 完成日期:2016 年 5 月 17日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:要求一个类继承两个类,会处理重名函数的二义性问题;
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include <string>
using namespace std;
class Teacher
{
private:
int age;
string name;
bool xing;//输入1为男,0为女
string title;//(职称)
public:
void set(int a,string n,bool x,string t);
void dispaly();
};
void Teacher::set(int a,string n,bool x,string t)
{
age=a;name=n;xing=x;title=t;
}
void Teacher::dispaly()
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<(xing?"男":"女")<<endl;
cout<<"职称:"<<title<<endl;
}
class Cadre
{
private:
int age;
string name;
bool xing;//输入1为男,0为女
string post;//职务
public:
void set(int a,string n,bool x,string p);
string getPost();
};
string Cadre::getPost()
{
return post;
}
void Cadre::set(int a,string n,bool x,string p)
{
age=a;name=n;xing=x;post=p;
}
class Teacher_Cadre:public Teacher,public Cadre
{
private:
double wages;
public:
void setWages(double w);
void show();
double getWages();
};
double Teacher_Cadre::getWages()
{
return wages;
}
void Teacher_Cadre::setWages(double w)
{
wages=w;
}
void Teacher_Cadre::show()
{
dispaly();
}
void main()
{
Teacher_Cadre t1;
t1.Teacher::set(42,"曾辉",1,"副教授");
t1.Cadre::set(42,"曾辉",1,"主任");
t1.setWages(1534.5);
t1.show();
cout<<"职务:"<<t1.getPost()<<endl;
cout<<"工资:"<<t1.getWages()<<endl;
}

二、运行结果:



三、心得体会:

当我们在编一个程序时遇到问题而又不能及时向老师提问时,可以将错误原因复制粘贴到百度查找方法。

四、知识点总结:

当一个类有两个基类,而且这两个基类有同名的函数时,在子类中调用某一个基类的同名函数的方法为        该基类名::同名函数

当输入一个字符串型的数据时需要在该数据上加双引号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: