實(shí)驗(yàn)二,,繼承機(jī)制實(shí)驗(yàn)報(bào)告_第1頁(yè)
實(shí)驗(yàn)二,,繼承機(jī)制實(shí)驗(yàn)報(bào)告_第2頁(yè)
實(shí)驗(yàn)二,,繼承機(jī)制實(shí)驗(yàn)報(bào)告_第3頁(yè)
實(shí)驗(yàn)二,,繼承機(jī)制實(shí)驗(yàn)報(bào)告_第4頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)二,繼承機(jī)制實(shí)驗(yàn)報(bào)告 浙江理工大學(xué)信息學(xué)院 實(shí)驗(yàn)指導(dǎo)書(shū) 實(shí)驗(yàn)名稱(chēng): 類(lèi)得繼承機(jī)制得實(shí)現(xiàn) 學(xué)時(shí)安排:3 實(shí)驗(yàn)類(lèi)別: 設(shè)計(jì)性實(shí)驗(yàn) 實(shí)驗(yàn)要求:1 人1 組 學(xué)號(hào): 姓名 一、實(shí)驗(yàn)?zāi)康?1、掌握單繼承與多重繼承得概念。 2、理解不同得繼承類(lèi)型:pub、protecte與 pivae,掌握何時(shí)使用何種繼承類(lèi)型。 、掌握類(lèi)層次中構(gòu)造函數(shù)得定義方式與建立對(duì)象時(shí)構(gòu)造與析構(gòu)次序 二、實(shí)驗(yàn)原理介紹 通過(guò)繼承機(jī)制實(shí)現(xiàn)對(duì)類(lèi)功能得擴(kuò)展,合理設(shè)計(jì)派生類(lèi)得構(gòu)造函數(shù)、成員函數(shù)。 三、實(shí)驗(yàn)設(shè)備介紹 軟件需求: wiws 或 lnux 下得+編譯器 硬件需求: 對(duì)于硬件方面得要求,建議配置就是 penim ii 40以上得p

2、u 處理器,6mb 以上得內(nèi)存,0mb 得自由硬盤(pán)空間、cd-rm 驅(qū)動(dòng)器、能支持4 位真彩色得顯示卡、彩色顯示器、打印機(jī)。 四、實(shí)驗(yàn)內(nèi)容 實(shí)現(xiàn)對(duì)第一次實(shí)驗(yàn)結(jié)果latr 類(lèi)得功能擴(kuò)展。在levato類(lèi)已有功能得基礎(chǔ)上派生 aancedelvar 類(lèi)。advacdeevatr 類(lèi)可以實(shí)現(xiàn)當(dāng)多人在不同樓層等待乘坐上行或下行得同一部電梯時(shí),能夠合理得根據(jù)乘坐人得需求對(duì)電梯經(jīng)停得樓層進(jìn)行排序。 要求: 1、為了實(shí)現(xiàn)上得方便性,我們假設(shè)同一組要求乘坐電梯得乘客或者都就是上行,或者都就是下行。 2、在主函數(shù)中對(duì)該類(lèi)得功能進(jìn)行測(cè)試,測(cè)試方法就是首先選擇在某一時(shí)間段一組要乘坐電梯得乘客就是上行還就是下行,然后

3、輸入組中乘客得人數(shù)及每一個(gè)乘客所在樓層與目得樓層,由 advancedelevaor 類(lèi)實(shí)例化后得電梯對(duì)象在運(yùn)作得過(guò)程中,如果電梯就是上行,則能根據(jù)乘客所在得樓層與目得樓層從下向上依次???;如果電梯就是下行,則能根據(jù)乘客所在得樓層與目得樓層從上向下依次??? 3、在測(cè)試得過(guò)程中,還需要注意測(cè)試當(dāng)多個(gè)用戶(hù)在同一樓層或多個(gè)用戶(hù)得目得樓層為同一樓層時(shí)情況得處理. 提示: 為了方便描述乘客,我們可以定義一個(gè)ersn 類(lèi),主要描述每一個(gè)乘客所在樓層與目得樓層。advanedelevatr 類(lèi)從 elator 類(lèi)繼承而來(lái),它從某一個(gè)時(shí)間段要乘坐電梯得每個(gè)乘客得信息當(dāng)中提取其所在樓層與目得樓層信息,然后對(duì)它

4、們進(jìn)行排序,再由繼承自基類(lèi)evato得成員 setfloornmbe對(duì)要??康脴菍有蛄幸来屋敵?。 思考 (可選) 如果加入乘客得體重信息,如何實(shí)現(xiàn)在??繕菍訉?duì)超載信息得提示. 五 程序清單 (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_ntnsty|foregroud_rd

5、|oreond_gree); cu您不能上行!endendl; lse if(floornmbefr) setcosoltetatrbt(gtthndle(std_outpu_handle),oregrund_intnsity|foregron_oregroundgn); cot沒(méi)這一層!太高啦!您想上天?!endlenl; else p=ru; void eetor:setdownutto() if(crretfloorfonume) stcosletetatriue(getdhndle(td_opuhande),frerd_itei|foregroun_red|oregoundgreen)

6、; cot您不能下行!'edlendl; ele f(forbe1) sensletextttribt(etthnde(d_oupt_handl),fgundntensity|frernd_redforegound_e); cout沒(méi)這一層!太低啦!您想入地?!'endlel; else down=t; void elevor:soonuer(in loonubr) i(u) for(;currefloorfoornumbe;currenflor+) cut-curretfloor'el; lep(2021); setconsoletxtattibt(getstdhan

7、le(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'層到了'ndnl; dwn=ase; v

8、oid evaor::choic() cin; sitch() se 1: ot'當(dāng)前電梯停在currenoor層ndl; cut請(qǐng)輸入要進(jìn)入得樓層'endl;cinornmbe;seupbutton();stflornumber(floonr); beak; case : cot'當(dāng)前電梯停在'rrenflor層endl; i(crrto=1) econsoletetattribue(etsdhandle(st_tt_anle),frgru_neityforegrod_rdfrground_ge); cout'您已經(jīng)在第一層了!除非您自己打洞,不然我就

9、是不會(huì)帶您下去得!elendl;return; cout'請(qǐng)輸入要進(jìn)入得樓層'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_hanle),oegroun_inte

10、nit|forerd_red|forerond_gre|foregrud_l); out'當(dāng)前電梯停在'currentloor層'ndl; void evator::cag() setonsoletextttue(gsandle(d_outut_hadle),fregroud_intenstforegroud_rdforegon_grnforegroundble); cou-請(qǐng)選擇操作-endl; ot' 、上升 |'dl; cou 2、下降 nl; cout'| 、退出 'endl; cut-|end; (main、cpp) #incl

11、ud 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(urrntfloo=fni) seton

12、letetattriute(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; for(in;cuntfloor

13、floornuber;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); crentlr=floornumbe;coutn

14、dl;downfe; vi adelevaor:setta() cout請(qǐng)告訴我共有幾人enl; it eight0; cinnum;outedl; n=2num; in i0,n=1,=; whie(=m) co'第q位乘客,請(qǐng)依次輸入您所在樓層、您想去得樓層及您得體重(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=0;coniu; i+;n+=2;q

15、; 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) setcnsolettatbute(tshn

16、e(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'沒(méi)這一層!太高啦!您想上天?!

17、別搗亂,給我出去!'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; setconsolexttrue(gestdand(std

18、_upu_handle),foregrundintestoregron_e|foregounrenfrrodbue);ret 1; ese f(n1) tnotextattribute(etsdandle(std_outphe),fregoud_intsity|foerounredgrun_ree); t沒(méi)這一層!太低啦!您想入地?!別搗亂,給我出去!'end; se c nsoletextattribute ( tst h ndl ( td_output_hane),foregoundintnsty|foeground_ed|fregrud_greenfreground_bue);e

19、tn 1; return 0; oid advelevator:coice() cinn; swith() ase 1: up=tre;cou'當(dāng)前電梯停在urrenfloo層nl; tta();if(nu=100)bea;setfoornumer(); be; e : dowtre;o當(dāng)前電梯停在currentflor'層'end; if(curntfloor=1) etconsoletexttrbute(tsnle(td_tut_hndle),fegun_intensforegoun_red|foregrund_green); cot您已經(jīng)在第一層了!除非您自己打洞,不然我就是不會(huì)帶您下去得!'nlen;dwn=flse;eturn; setdata();i(um=10)ea;setfl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論