- 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语言程序设计》
课程实验报告(第 7 次)
学 院:数学和计算机学院
姓 名:张元杰
学 号:2
专 业:软件工程
班 级:1班
同 组 人:
实验地点:6A-2
实验时间:
指导教师:
实验名称:继承和派生(二)
所使用的开发工具及环境:硬件 PC机一台
实验目的:
理解继承和派生的概念;
理解继承在面向对象程序设计中的重要作用;
掌握通过继承派生出一个新类的方法;
进一步学习简单面向对象程序的编写;
实验内容:
1. 教师干部类//50分
设计一个基类Person类,再派生出教师类(Teacher)、干部类(Cadre),再采用多重继承派生出新类:Teacher_Cadre
要求如下:
1)Person类包含:姓名、年龄、性别、地址、电话等;
在 Teacher类中新增加:title(职称) ,在 Cadre 类中新增加:post(职务) ,在 Teacher_Cadre中新增加:wages(工资)成员;
2)Person类,Teacher类,Cadre类都包含:display()函数,分别输出本类中的成员信息;
3)在Teacher类,Cadre类中的姓名、年龄、性别、地址、电话等数据成员使用相同名字,在派生类中引用这些数据成员时,采用指定作用域的方式;
4)在派生类 Teacher_Cadre 的成员函数 Show()中调用 Teacher 类中的 display()函数,输出姓名、年龄、性别、地址、电话,职称;另外同时再输出其他成员变量。
5)使用对象数组保存输入的对象;
2. 小型公司人员管理
某小型公司有四类人员: 总经理、 技术人员、 销售经理、 推销员。 设计一个基类 employee派生出 manager(总经理) 、technician(技术人员) 、salesmanager(销售经理) 、saleman(推销员)。销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承 manager 和salesman 两个类。 //50分
1)类定义
①employee类:
基本信息:编号、姓名、性别、出生日期、职位、薪水等;出生日期使用自定义的 Date(日期)类;其中:基本信息为 private 属性,成员函数为 public 属性;多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函数;可以从外部访问类成员函数;
②Date 类:
成员变量:年、月、日
成员函数:SetYear(int year)、SetMonth(int month)、SetDay(int day)、GetYear()、GetMonth()、GetDay()
③派生类 technician:新增属性:工作时间
派生类 saleman:新增属性:销售额、所属部门
2)实现人员信息的录入和显示;
3)计算并显示个人月薪:
月薪计算办法:总经理拿固定月薪 8000 元,技术人员按每小时25元领取月薪;推销员的月薪按当月销售额的4%提成; 销售经理固定月薪5000元加所管辖部门当月销售总额的 5‰ 。
[实验提示]
①在基类中,除了定义构造函数和析构函数,还应统一定义对各类人员信息应有的操作,规范类族中各派生类的基本行为,但是各类人员的月薪计算方法不同,不能在基类employee 中统一确定计算方法。各类人员信息的显示内容不同,同样不能在基类employee中统一确定显示方法。在基类中实现上述功能的函数体应为空,在派生类中根据同名覆盖原则定义各自的同名函数实现具体功能。
②将基类 employee 分成两个独立文档:employee.h(类声明头文件) 和 employy.cpp(类实现文件)
③“职位”的类型设定为 int;
结果和分析:
Sy7-1:
#includeiostream
#includestring
using namespace std;
class Person
{
public:
Person(){}
Person(string na,int ag,string se,string ad,string te):name(na),age(ag),sex(se),addr(ad),tel(te){}
void display();
private:
string name;
int age;
string sex;
string addr;
string tel;
};
class Teacher: public Person
{
public:
Teacher(string na,int ag,string se,string ad,string te,string ti):Person(na,ag,se,ad,
您可能关注的文档
最近下载
- 检验检测机构资质认定认可内审员培训试题及答案.docx VIP
- AMS2750D高温测试标准(中文版).pdf VIP
- 道路固化土应用-技术规程.pdf VIP
- 2025—2030年学校高质量发展五年规划.docx
- 2025年社区工作者职业能力综合测试题库.docx VIP
- 地球物理学概论模拟题.docx VIP
- 1,打开链接httpsportal.tyut.edu.cn8443zfcalogin进入页面:.doc
- 排导槽工程施工方案(3篇).docx VIP
- 2025年河北省政府采购评审专家考试测试题及答案.docx VIP
- 六三制青岛版三年级科学上册第二单元第5课《植物的“身体》课件.pptx VIP
文档评论(0)