77范文网 - 专业文章范例文档资料分享平台

C++实验6报告

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

北京电子科技学院(BESTI)

课程: 面向对象程序设计

班级:

1022

姓名:

徐骏

学号:

102225

成绩:

D14

指导教师:

徐日 选修

实验日期:

2011.12.3

12:00~17:30

实验密级: 预习程度: 实验时间:

仪器组次: 实验名称:

必修/选修: 实验序号:

动态多态

实验目的与要求:

1. 使学生掌握掌握C++语言动态多态的基础编程;

2. 培养学生具有运用C++语言编程解决实际问题的能力,提高学生的计算机编程能力。 3. 引导和培养学生具有认真严谨的实验态度和用于实践的学习精神。

实验仪器: 名称 微机 型号 DELL Optiplex-755 数量 1

- 1 -

实验内容:

1. 类Emp、Manager、Seller、Piecer和Hourer 知识提示:

以虚函数为基础,实现用基类指针调用类结构中不同对象的成员函数。 题目:

编写一个工资管理程序,以雇员类为基类公有派生出经理类、

计件工类和小时工类。经理享有固定的底薪和业绩奖励;销售员的收入是一小部分的基本工资加上销售额的提成;计件工的收入完全取决于其生产的工件数量;小时工的收入以小时计算,再加上按时计算的加班费。运用基类指针显示输出各类对象的薪水值。

具体描述:

雇员类Emp作为基类,有数据成员salary(double型)表示薪水,成员函数set()为成员salary赋值(参数值为600),成员函数count()为salary赋值,成员函数get()获取成员salary的值,成员函数show()用于显示输出成员salary的值。

经理类Manager,新增成员函数count(),用于计算经理的薪水并对salary赋值,底薪8000,业绩奖励数额由用户输入(参考值为12000);新增成员函数show()用于显示成员salary的值。

计件工类Piecer,新增成员函数count(),用于计算计件工的薪水并对salary赋值,计件系数为40,生产产品件数由用户输入(参考值为80),新增成员函数show()用于显示输出成员salary的值。

小时工类Hourer,新增成员函数count(),用于计算小时工的薪

- 2 -

水并对salary赋值,150小时内的计时系数为10,150小时外的加班计时系数为20,工作时数由用户输入(参考值为170),新增成员函数show()用于显示输出成员salary的值。 要求:

1. 所有类定义时,数据成员为private属性,成员函数为public属性,各成员函数的参数请按需要自行设定。

2. 所有类都要求编写构造函数和析构函数,构造函数都为有参函数且具有默认参数值,构造函数完成数据成员的初始化。

3. 所有函数都要有明确的执行信息输出,例如类Emp的构造函数中应明确输出“执行类Emp的构造函数”。

4. 编写主函数main(),在其中编写程序,定义各类的对象,用基类指针指向它们分别操作,对各类对象的成员salary执行count()计算并赋值、执行show()对各类对象的成员salary的值输出显示。 5. 为便于理解题意,程序执行结果可参考下图。

编程设计思想:

因为基类有count()函数,而每一个派生类里面也有新增的count()函数,当基类的成员函数定义为虚函数后,当用基类指针指向这些派生类对象时,系统就会自动用派生类中的同名函数来代替基类中的虚函数。

程序源代码:

#include

- 3 -

class Emp//定义基类Emp { private:

double salary; public:

void set(double n)//执行类EMP的set函数 {

salary=n;

cout<<\执行类EMP的set函数,薪水赋值为<\ }

virtual void count(double n)//执行类EMP的count()函数 {

cout<<\执行类EMP的count()函数\ salary=n; }

double get()//执行类EMP的get()函数 {

cout<<\执行类EMP的get()函数,返回薪水值<\ return salary; }

virtual void show()//执行类EMP的show()函数 {

- 4 -

cout<<\执行类EMP的show()函数,输出薪水:\ }

Emp(double i=0)//执行类EMP的构造函数 {

cout<<\执行类EMP的构造函数\ salary=i; }

~Emp()//执行类EMP的析构函数 {

cout<<\执行类EMP的析构函数\ } };

class Manager:public Emp//定义Emp的派生类Manager { public:

void count(double n)//执行类Manager的count()函数 {

double i=n;

cout<<\执行类Manager的count()函数,经理业绩奖励额:\ Emp::set(n+8000); }

void show()//执行类Manager的show()函数

- 5 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++实验6报告在线全文阅读。

C++实验6报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/416645.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: