




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为Word版,下载可任意编辑实验二,继承机制实验报告 浙江理工高校信息学院 试验指导书 试验名称: 类得继承机制得实现 学时支配:3 试验类别: 设计性试验 试验要求:1 人1 组 学号: 姓名 一、试验目得 1、把握单继承与多重继承得概念。 2、理解不同得继承类型:pub、protecte与 pivae,把握何时使用何种继承类型。 、把握类层次中构造函数得定义方式与建立对象时构造与析构次序 二、试验原理介绍 通过继承机制实现对类功能得扩展,合理设计派生类得构造函数、成员函数。 三、试验设备介绍 软件需求: wiws 或 lnux 下得+编译器 硬件需求: 对于硬件方面得要求,建议配置
2、就是 Penim II 40以上得PU 处理器,6MB 以上得内存,0MB 得自由硬盘空间、CD-RM 驱动器、能支持4 位真彩色得显示卡、彩色显示器、打印机。 四、试验内容 实现对第一次试验结果latr 类得功能扩展。在levato类已有功能得基础上派生 AancedElvar 类。AdvacdEevatr 类可以实现当多人在不同楼层等待乘坐上行或下行得同一部电梯时,能够合理得依据乘坐人得需求对电梯经停得楼层进行排序。 要求: 1、为了实现上得便利性,我们假设同一组要求乘坐电梯得乘客或者都就是上行,或者都就是下行。 2、在主函数中对该类得功能进行测试,测试方法就是首先选择在某一时间段一组要乘
3、坐电梯得乘客就是上行还就是下行,然后输入组中乘客得人数及每一个乘客所在楼层与目得楼层,由 AdvancedElevaor 类实例化后得电梯对象在运作得过程中,假如电梯就是上行,则能依据乘客所在得楼层与目得楼层从下向上依次停靠;假如电梯就是下行,则能依据乘客所在得楼层与目得楼层从上向下依次停靠. 3、在测试得过程中,还需要留意测试当多个用户在同一楼层或多个用户得目得楼层为同一楼层时状况得处理. 提示: 为了便利描述乘客,我们可以定义一个ersn 类,主要描述每一个乘客所在楼层与目得楼层。AdvanedElevatr 类从 Elator 类继承而来,它从某一个时间段要乘坐电梯得每个乘客得信息当中提
4、取其所在楼层与目得楼层信息,然后对它们进行排序,再由继承自基类evato得成员 setFloorNmbe对要停靠得楼层序列依次输出。 思索 (可选) 假如加入乘客得体重信息,如何实现在停靠楼层对超载信息得提示. 五 程序清单 (e、cp) includ levato、h Elevator:evator(int ) floor =f; upfalse; dwn=fals; currnFloor1; ; void Eevtr::setpButtn() if(crentFlofoorNmbe) etCsoleTxtAttrbte(GeStdandl(STD_UTU_HALE),FOREGRUND_N
5、TNSTY|FOREGROUD_RD|OREOND_GREE); cu您不能上行!endendl; lse if(floorNmbefr) SetCosolTetAtrbt(GttHndle(STD_OUTPU_HANDLE),OREGRUND_INTNSITY|FOREGRON_OREGROUNDGN); cot没这一层!太高啦!您想上天?!endlenl; else p=ru; void Eetor:setDownutto() if(crretFloorfoNume) StCosleTetAtriue(GetdHndle(TD_OPUHANDE),FRERD_ITEI|FOREGROUN_
6、RED|OREGOUNDGREEN); cot您不能下行!'edlendl; ele f(forbe1) SensleTextttribt(ettHnde(D_OUPT_HANDL),FGUNDNTENSITY|FRERND_REDFOREGOUND_E); cout没这一层!太低啦!您想入地?!'endlel; else down=t; void Elevor:sooNuer(in looNubr) i(u) for(;curreFloorfoorNumbe;currenFlor+) cut-curretFloor'el; lep(2021); SetConsoleT
7、xtAttibt(GetStdHanle(TD_PUT_HANDLE),FOREGRUND_INTENITY|FOREUND_RED); cout'第'currntlor层到了'endendl; upals; f(dow) for(;curntlorfloorumber;currentFoor-) cot'urrentFr-en; Slep(2021); Consoleettribte(GetStdane(STD_OPUT_HNLE),FOREGROUN_INENSITY|OREOUDRED); cout'第'currenl'层到了
8、9;ndnl; dwn=ase; void evaor::choic() cin; sitch() se 1: ot'当前电梯停在currenoor层ndl; cut请输入要进入得楼层'endl;cinorNmbe;seUpButton();stFlorNumber(flooNr); beak; case : cot'当前电梯停在'rrenFlor层endl; i(crrto=1) eConsoleTetAttribue(etSdHandle(ST_TT_ANLE),FRGRU_NEITYFOREGROD_RDFRGROUND_GE); cout'您已经
9、在第一层了!除非您自己打洞,不然我就是不会带您下去得!elendl;return; cout'请输入要进入得楼层'enl;cinfloorNumb;etDwn();setFlNmber(flooNmbe);brk; case 3:exi(0); efalt:SooleTexAttrbute(GettdHade(_OUTPUT_DL),FOEROUND_ITENSIYFOREGRONDRED|FOREGRU_GREN); out只能选上升与下降!您莫非还想玩电梯漂移?!endlendl; brea; etConsolextAttribu(etStdHndl(STD_UTPUT_H
10、ANLE),OEGROUN_INTENIT|FORERD_RED|FOREROND_GRE|FOREGRUD_L); out'当前电梯停在'currentloor层'ndl; void evator::cag() SetonsoleTextttue(GSandle(D_OUTUT_HADLE),FREGROUD_INTENSTFOREGROUD_RDFOREGON_GRNFOREGROUNDBLE); cou-请选择操作-endl; ot' 、上升 |'dl; cou 2、下降 nl; cout'| 、退出 'endl; cut-|end
11、; (main、cpp) #includ levator、h' as AdvElevator:publi Elevato publi: Adleato(it f):Elevato(f)uentFloor=1; voi setdta(); vo setFlooNuber(); oid hoce(); rivae: int judg(int); it ln20; it w0; int ; nt nu; ; oid dvElevatr:sFloorNmber() int i; if(up) couel; fo(=;urrentFlor=foorNumber;currentFor+) f(ur
12、rntFloo=fni) SetonleTetAttriute(GetStandle(SDOUTPT_HANDLE),FOREROUN_INTNSITYFOREROUND_ED); cout第'cuntoo层到了en; Slep(0);i+; SetConoleextAtiut(etStdHadl(ST_OUTPUT_HAL),FORGO_ENSITFEGROUD_RED|FOEOND_GRENFORUND_LUE); els u-'curenFlr'endl;Slep(2021); urrenFlor=floormb;coedl;ufale; i(dow) ctend
13、; for(iN;cuntFloorfloorNuber;curentFoor-) if(currenloor=li) StosoeTAtibut(GeStdHndl(TD_ UTUT_HDE),FOREGOUNINTENS|OEROUND_ED); ou第urntFo层到了nl; leep(00);i-; SeCoseTextAttute (GetSdHand(ST_OUTPANDLE),FOGROUND_NENSITYOREGOUN_REDFREGOUN_GRENOEOUND_BLU); else cou-'rrnFor''enl;Sle(2021); crentl
14、r=floorNumbe;coutndl;downfe; vi AdElevaor:setta() cout请告知我共有几人enl; it eight0; cinnum;outedl; N=2num; in i0,n=1,=; whie(=m) co'第q位乘客,请依次输入您所在楼层、您想去得楼层及您得体重(g)nd; ciflnilnnwi; i(udg(flnn)=1)q+;N=2;fi"0;coniu; wegh=wi; if(eiht50) cutenl;cu第q位乘客,因超载缘由,您不 能上endlendl; q+;N=2;li=";weight=w;w=
15、0;coniu; i+;n+=2;q; fo (i=0; iN1; i+ ) f (q=i+1; N; q+ ) if (lni= lnq ) ) +n ;Nn ;q=n(rof flnn flnn+1; ;-N ; int j,k,tep; fr(0;N;j+) fr(k=0;k1-j;+) (flnklnk+1) temp=fnk; fln=ln+1; fnk+1=tem; if(fln00) num=10; if(up)floorumber=fnN-1; i(d)flrNumbr=fn; it AdvElevator::juge(int ) if(up) i(urentFon) SetC
16、nsoleTtAtbute(tSHne(STD_UTPUT_HNDLE),FEGOUND_INTNSYFORGROUD_REDFORERND_GREN); ot您不能上行!别捣乱,给我出去!endl; SetnsoTettrbu(etStHanl(STOPUTHANL),FOREGROUNDITENITYFORGUNDR|FREOUNDGREN|FRRND_BUE);return 1; els i(nfoor) Consoletttribute(GetStdHande(STD_UT_HDLE),FOREGROUND_ITENSITYFOEGROUNDRDFOEROUD_GEN); cout
17、39;没这一层!太高啦!您想上天?!别捣乱,给我出去!'end; SeConsoleTexAtribute(GetStdHnle(T_OUTANDLE),FORRONINTENI|FREROUN_RED|FOREGOD_GREENFOEGROUND_BLU);eturn ; if(down) if(urrntFoorn) SetConoleTetAtribute(GtStdHadle(STD_UUHANDLE) , FOR GROUN _I TENSIT FOR G OUND_RED|F R ROUND_GREEN); cot您不能下行!别捣乱,给我出去!nl; SetConsolex
18、ttrue(GeStdand(STD_UPU_HANDLE),FOREGRUNDINTESTOREGRON_E|FOREGOUNRENFRRODBUE);ret 1; ese f(n1) tnoTextAttribute(etSdandle(STD_OUTPHE),FREGOUD_INTSITY|FOEROUNREDGRUN_REE); t没这一层!太低啦!您想入地?!别捣乱,给我出去!'end; Se C nsoleTextAttribute ( tSt H ndl ( TD_OUTPUT_HANE),FOREGOUNDINTNSTY|FOEGROUND_ED|FREGRUD_GRE
19、ENFREGROUND_BUE);etn 1; return 0; oid AdvElevator:coice() cinN; swith() ase 1: up=tre;cou'当前电梯停在urrenFloo层nl; tta();if(nu=100)bea;setFoorNumer(); be; e : dowtre;o当前电梯停在currentFlor'层'end; if(curntFloor=1) etConsoleTexttrbute(tSnle(TD_TUT_HNDLE),FEGUN_INTENSFOREGOUN_RED|FOREGRUND_GREEN); cot您已经在第一层了!除非您自己打洞,不然我就是不会带您下去得!'nlen;dwn=flse;eturn; setdata();i(um=10)ea;setFloorNbe();br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025海运运输合同范本
- 2025翻译服务的合同范本
- 2025标准资产管理合同范本
- 2025年国内贸易公司与外籍船员雇佣合同
- 2025年公司与个人借款合同范本标准版
- 5.2 做自强不惜的中国人 课件 2024-2025学年统编版道德与法治七年级下册
- 《课堂互动》课件
- 《当代临床输血技术》课件
- (63)-考点63 课外-名著阅读
- (10)-专题10 议论文阅读
- 创新奖申请材料撰写指南与范文
- 中华人民共和国学前教育法解读
- 美容师考试相关法律法规的知识要点试题及答案
- 2025年形势与政策-加快建设社会主义文化强国+第二讲中国经济行稳致远
- 激光雷达笔试试题及答案
- 《运动处方》课件-高血压人群运动处方案例
- 2025年中国数控转台行业市场规模及投资前景预测分析报告
- 建筑工程技术毕业实践报告3000字
- 2024年出版专业资格考试《基础知识》(中级)真题及答案
- 中国加速康复外科临床实践指南2021
- 山东省大教育联盟学校2024-2025学年高三下学期开学检测化学试题(原卷版+解析版)
评论
0/150
提交评论