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;
}
二、运行结果:
三、心得体会:
当我们在编一个程序时遇到问题而又不能及时向老师提问时,可以将错误原因复制粘贴到百度查找方法。
四、知识点总结:
当一个类有两个基类,而且这两个基类有同名的函数时,在子类中调用某一个基类的同名函数的方法为 该基类名::同名函数
当输入一个字符串型的数据时需要在该数据上加双引号。
/*
* 文件名称:求两点间距离类
* 作 者:李锐
* 完成日期: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;
}
二、运行结果:
三、心得体会:
当我们在编一个程序时遇到问题而又不能及时向老师提问时,可以将错误原因复制粘贴到百度查找方法。
四、知识点总结:
当一个类有两个基类,而且这两个基类有同名的函数时,在子类中调用某一个基类的同名函数的方法为 该基类名::同名函数
当输入一个字符串型的数据时需要在该数据上加双引号。
相关文章推荐
- 关于学习C++过程中需要的知识点拓展
- 多态和友元
- C++课程 second work _1025
- MZ test17# NOIP模拟题 # T4 第4题 路线统计(route.cpp/pas)[key:矩阵]
- 马兴150809305C语言的指针、链表的原理和各类操作
- 1.C++--关于文件间共享代码的方法
- 二分查找算法
- 大数相加 C/C++
- House Robber II
- C++第6次上机作业
- House Robber
- 设计模式之装扮模式(C++实现)
- Java和C++的虚函数的异同
- 分数加减的简单运算
- 杭电 2054(指针 strchr函数)
- C语言实现电话本 动态开辟 信息存储于文件
- C语言中经常遇到的陷阱!好东西
- C++开学第二次作业(5.14)
- stm8中断使用
- MZ test17# NOIP模拟题 #T3 第3 题 登山机器人(robot.pas/cpp)