- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学与计算机学院 C++实验报告
年级 09数计 学号 2009432125姓名 刘宝 成绩
专业 数电 实验地点 主楼401 指导教师 翟俊海
实验项目 职工信息表 —实验日期 11年1月1日
一、实验目的
通过编写一个处理职工信息的程序,加强对继承与派生,运算符重载等概念的理解, 提升实际操作能力。
二、实验问题描述
设计要求:
设计要求实现如下功能:
(1) 建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工 作时间和年龄(必须计算得到)。
(2) 使用继承的方法构造至少 3个类,(即雇员类一一基类,教师类和工人类一一派生 类)类中使用相应的对象放置 10个职工信息。
(3) 编写同名display。 成员函数,用来输出数组的内容。
(4) 按不同类别输出职工信息,比如按系输出教师信息。
(5) 要求对“vv”和“”运算符进行重载。考虑到输人职工编号时,也会因不小
心引人空格,而且名字中也需要有空格, 所以重载“运算符时, 需要满足这个要
求。
(6) 抽取并计算职工的平均年龄。
(7) 检索(查找)指定信息。(如按姓名检索、按年龄检索)
(8)参考界面如下:
1—增加一位职工(教师、工人)记录
2 —显示全部职工 (教师、学生) 记录
3—计算职工(教师、学生)的平均年龄
4 —删除一个职工 (教师、学生) 记录
按系输出教师信息
按姓名检索(教师、学生) 职工
结束程序运行
三、实验步骤
1、实验问题分析
时间类。 class Time { public: void display(); void set(); void age(); int getage();
private:
int year; int month; int day;
};
职工类(单个职工) class Labor
{ public: void creat(); void display();
//protected: string num; string name; string sex; float wage; Time birthday; string workp; Time workt; int age;
};
三) 雇员类(是一个集合类,包含多个人员(对象数组)以及对多个人员的 操作(如添加、删除、查询等,是对对象数组操作的成员函数,应设定为 虚函数),雇员类可考虑设为抽象基类 。
class Employee
{
public:
void
virtual set(){num=0;}
//将 num 设置为 0
void
virtual addin();
//增加一个雇员
void
virtual display();
/ / 显示所有雇员
void
virtual dele();
//删除一个雇员
void virtual search();void virtual show();
void virtual search();
void virtual show();
void virtual averageage(); protected:
int num;
Labor L[10];
};
//查询雇员
//按工作部门显示雇员信息 //计算雇员平均年龄
//标记员工个数
//
四) 教师类(雇员类的派生类) ,对基类的虚函数重新定义,实现相应功能
class Teacher:virtual public Employee
{
public:
void set(){num=0;} void addin(); void display(); void dele(); void search(); void show(); void averageage(); void SET();
};
//将 num 设置为 0
//增加教师 //显示所有教师信息
//删除教师
//查询教师信息
//按系显示教师信息
//计算教师平均年龄
//读入文件中的信息
五)
工人类(雇员类的派生类)
,对基类的虚函数重新定义,实现相应功能
//
//将 num 设置为 0
//增加工人 //显示所有工人信息
//删除工人
//查询工人信息 //按部门显示工人信息
//计算工人平均年龄 ////读入文件中的信息
class Worker:virtual public Employee
{
public:
void set(){num=0;} void addin(); void display(); void dele(); void search(); void show();
void averageage();
void SET();
};
六) 对进行运算符重载,使之能接收空格
istreamoperator(istreami
原创力文档


文档评论(0)