实验二继承机制实验报告11285.pdf
《实验二继承机制实验报告11285.pdf》由会员分享,可在线阅读,更多相关《实验二继承机制实验报告11285.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.理工大学信息学院 实验指导书 实验名称:类的继承机制的实现 学时安排:3 实验类别:设计性实验 实验要求:1 人 1 组 *:一、实验目的 1.掌握单继承和多重继承的概念。2.理解不同的继承类型:public、protected 和 private,掌握何时使用何种继承类型。3.掌握类层次中构造函数的定义方式和建立对象时构造和析构次序 二、实验原理介绍 通过继承机制实现对类功能的扩展,合理设计派生类的构造函数、成员函数。三、实验设备介绍 软件需求:windows 或 linu*下的 c+编译器 硬件需求:对于硬件方面的要求,建议配置是 Pentium III 450 以上的 CPU处理器,6
2、4MB 以上的存,200MB 的自由硬盘空间、CD-ROM 驱动器、能支持 24 位真彩色的显示卡、彩色显示器、打印机。四、实验容 实现对第一次实验结果 Elevator 类的功能扩展。在 Elevator 类已有功能的根底上派生 AdvancedElevator 类。AdvancedElevator 类可以实现当多人在不同楼层等待乘坐上行或下行的同一部电梯时,能够合理的根据乘坐人的需求对电梯经停的楼层进展排序。要求:1.为了实现上的方便性,我们假设同一组要求乘坐电梯的乘客或者都是上行,或者都是下行。.2.在主函数中对该类的功能进展测试,测试方法是首先选择在*一时间段一组要乘坐电梯的乘客是上行
3、还是下行,然后输入组中乘客的人数及每一个乘客所在楼层和目的楼层,由 AdvancedElevator 类实例化后的电梯对象在运作的过程中,如果电梯是上行,则能根据乘客所在的楼层和目的楼层从下向上依次停靠;如果电梯是下行,则能根据乘客所在的楼层和目的楼层从上向下依次停靠。3.在测试的过程中,还需要注意测试当多个用户在同一楼层或多个用户的目的楼层为同一楼层时情况的处理。提示:为了方便描述乘客,我们可以定义一个 Person 类,主要描述每一个乘客所在楼层和目的楼层。AdvancedElevator 类从 Elevator 类继承而来,它从*一个时间段要乘坐电梯的每个乘客的信息当中提取其所在楼层和目
4、的楼层信息,然后对它们进展排序,再由继承自基类 Elevator 的成员 setFloorNumber 对要停靠的楼层序列依次输出。思考可选 如果参加乘客的体重信息,如何实现在停靠楼层对超载信息的提示。五 程序清单 el.cpp#include Elevator.h Elevator:Elevator(int f)floor=f;up=false;down=false;currentFloor=1;void Elevator:setUpButton()if(currentFloorfloorNumber).SetConsoleTe*tAttribute(GetStdHandle(STD_OUT
5、PUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout您不能上行!endlfloor)SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout没这一层!太高啦!您想上天?!endlendl;else up=true;void Elevator:setDownButton()if(currentFloorfloorNumber)SetCons
6、oleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout您不能下行!endlendl;else if(floorNumber1)SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout没这一层!太低啦!您想入地?!endlendl;.else down=true;voi
7、d Elevator:setFloorNumber(int floorNumber)if(up)for(;currentFloorfloorNumber;currentFloor+)cout-currentFloor-endl;Sleep(2000);SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);cout第currentFloor层到了endlfloorNumber;currentFloor-)cout-currentFloor-endl;Sleep(20
8、00);SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);cout第currentFloor层到了endln;switch(n)case 1:cout当前电梯停在currentFloor层endl;cout请输入要进入的楼层floorNumber;setUpButton();setFloorNumber(floorNumber);break;case 2:cout当前电梯停在currentFloor层endl;if(currentFloor=1)SetCons
9、oleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout您已经在第一层了!除非您自己打洞,不然我是不会带你下去的!endlendl;return;cout请输入要进入的楼层floorNumber;setDownButton();setFloorNumber(floorNumber);break;case 3:e*it(0);default:SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HA
10、NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout只能选上升和下降!您难道还想玩电梯漂移?!endlendl;break;SetConsoleTe*tAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_IN.TENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);cout当前电梯停在currentFloor层endl;void Elevator:charge()SetConsoleTe*tAttribute
11、(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);cout-请选择操作-endl;cout|1.上升|endl;cout|2.下降|endl;cout|3.退出|endl;cout|-|endl;main.cpp#include Elevator.h class AdvElevator:public Elevator public:AdvElevator(int f):Elevator(f)currentFloor=1;void setda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 继承 机制 报告 11285
限制150内