实验二,,继承机制实验报告

上传人:hong****2021 文档编号:48963049 上传时间:2022-01-16 格式:DOCX 页数:15 大小:25.05KB
收藏 版权申诉 举报 下载
实验二,,继承机制实验报告_第1页
第1页 / 共15页
实验二,,继承机制实验报告_第2页
第2页 / 共15页
实验二,,继承机制实验报告_第3页
第3页 / 共15页
资源描述:

《实验二,,继承机制实验报告》由会员分享,可在线阅读,更多相关《实验二,,继承机制实验报告(15页珍藏版)》请在装配图网上搜索。

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-curretFloorel; lep(2021); SetConsoleTxtAttibt(GetStd

7、Hanle(TD_PUT_HANDLE),FOREGRUND_INTENITY|FOREUND_RED); cout第currntlor层到了endendl; upals; f(dow) for(;curntlorfloorumber;currentFoor-) coturrentFr-en; Slep(2021); Consoleettribte(GetStdane(STD_OPUT_HNLE),FOREGROUN_INENSITY|OREOUDRED); cout第currenl层到了ndnl; dwn=ase; void evaor::choic() cin; sitch() se 1:

8、 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您已经在第一层了!除非您自己打洞,不然我就是不会带您下去得!elendl;return; cout请输入要进入得楼层enl;cinfloorNumb;etDwn();

9、setFlNmber(flooNmbe);brk; case 3:exi(0); efalt:SooleTexAttrbute(GettdHade(_OUTPUT_DL),FOEROUND_ITENSIYFOREGRONDRED|FOREGRU_GREN); out只能选上升与下降!您莫非还想玩电梯漂移?!endlendl; brea; etConsolextAttribu(etStdHndl(STD_UTPUT_HANLE),OEGROUN_INTENIT|FORERD_RED|FOREROND_GRE|FOREGRUD_L); out当前电梯停在currentloor层ndl; void

10、evator::cag() SetonsoleTextttue(GSandle(D_OUTUT_HADLE),FREGROUD_INTENSTFOREGROUD_RDFOREGON_GRNFOREGROUNDBLE); cou-请选择操作-endl; ot 、上升 |dl; cou 2、下降 nl; cout| 、退出 endl; cut-|end; (main、cpp) #includ levator、h as AdvElevator:publi Elevato publi: Adleato(it f):Elevato(f)uentFloor=1; voi setdta(); vo setF

11、looNuber(); 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(urrntFloo=fni) SetonleTetAttriute(GetStandle(SDOUTPT_HANDLE),FOREROUN_INTNSITYFOREROUND_ED); cout第cuntoo层到了en; Slep(0);i+; SetConole

12、extAtiut(etStdHadl(ST_OUTPUT_HAL),FORGO_ENSITFEGROUD_RED|FOEOND_GRENFORUND_LUE); els u-curenFlrendl;Slep(2021); urrenFlor=floormb;coedl;ufale; i(dow) ctend; for(iN;cuntFloorfloorNuber;curentFoor-) if(currenloor=li) StosoeTAtibut(GeStdHndl(TD_ UTUT_HDE),FOREGOUNINTENS|OEROUND_ED); ou第urntFo层到了nl; lee

13、p(00);i-; SeCoseTextAttute (GetSdHand(ST_OUTPANDLE),FOGROUND_NENSITYOREGOUN_REDFREGOUN_GRENOEOUND_BLU); else cou-rrnForenl;Sle(2021); crentlr=floorNumbe;coutndl;downfe; vi AdElevaor:setta() cout请告知我共有几人enl; it eight0; cinnum;outedl; N=2num; in i0,n=1,=; whie(=m) co第q位乘客,请依次输入您所在楼层、您想去得楼层及您得体重(g)nd;

14、ciflnilnnwi; i(udg(flnn)=1)q+;N=2;fi0;coniu; wegh=wi; if(eiht50) cutenl;cu第q位乘客,因超载缘由,您不 能上endlendl; q+;N=2;li=;weight=w;w=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+

15、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) SetCnsoleTtAtbute(tSHne(STD_UTPUT_HNDLE),FEGOUND_INTNSYFORGROUD_REDFORERND_GREN); ot您不能上行!别捣乱,给我出去!endl; SetnsoTettrbu(etStHanl(STOPUTHANL),FOREGROUNDITENITYFORGUNDR|FREOUNDGREN|FRR

16、ND_BUE);return 1; els i(nfoor) Consoletttribute(GetStdHande(STD_UT_HDLE),FOREGROUND_ITENSITYFOEGROUNDRDFOEROUD_GEN); cout没这一层!太高啦!您想上天?!别捣乱,给我出去!end; SeConsoleTexAtribute(GetStdHnle(T_OUTANDLE),FORRONINTENI|FREROUN_RED|FOREGOD_GREENFOEGROUND_BLU);eturn ; if(down) if(urrntFoorn) SetConoleTetAtribute(

17、GtStdHadle(STD_UUHANDLE) , FOR GROUN _I TENSIT FOR G OUND_RED|F R ROUND_GREEN); cot您不能下行!别捣乱,给我出去!nl; SetConsolexttrue(GeStdand(STD_UPU_HANDLE),FOREGRUNDINTESTOREGRON_E|FOREGOUNRENFRRODBUE);ret 1; ese f(n1) tnoTextAttribute(etSdandle(STD_OUTPHE),FREGOUD_INTSITY|FOEROUNREDGRUN_REE); t没这一层!太低啦!您想入地?!别

18、捣乱,给我出去!end; Se C nsoleTextAttribute ( tSt H ndl ( TD_OUTPUT_HANE),FOREGOUNDINTNSTY|FOEGROUND_ED|FREGRUD_GREENFREGROUND_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(curnt

19、Floor=1) etConsoleTexttrbute(tSnle(TD_TUT_HNDLE),FEGUN_INTENSFOREGOUN_RED|FOREGRUND_GREEN); cot您已经在第一层了!除非您自己打洞,不然我就是不会带您下去得!nlen;dwn=flse;eturn; setdata();i(um=10)ea;setFloorNbe();brea; case 3:eit(); deu:StonsoleTextAtibute(GtStdndle(STOUTUT_HADLE),FOEGROUND_INNSTYFOEGRON_REDFRERUD_GREEN); cu只能选上升与

20、下降!您莫非还想玩电梯漂移?!endled; ak; SetCosolTextAtriute(GetSdHande(STDOTUT_HADLE),FOREGROUND_IEIY|FOREGROUND_REDREROUNDREENOREGRUND_BE); cut-n; int main() lon ; time(a); n floor; out告知我总共有几层end; inflor; Advlvt e(foor); SeConsoeTetAtriute(GetStdHade(TD_OUTPUT_HLE),FORGROUNDINTENSITY|ORROUND_REDFRERUDGREE|OREGROUNDBUE); coutctime()endl; cot本电梯共floor层,且最多上 10 人,欢迎您得使用(限重 500kg)edlendl; while(1) e、chage(); el、Advlevator:hoice(); return ; 六 运行结果 七 试验心得 复习了有关数组得内容,比如排序,去除重复元素;费了很大精力来改,但总觉得写得不好,代码太长,内容冗杂。有待进步,加强。 第 15 页 共 15 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!