欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年实验二继承机制实验报告.docx

    • 资源ID:72720637       资源大小:52.55KB        全文页数:17页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2023年实验二继承机制实验报告.docx

    浙江理工大学信息学院实验指导书实验名称:类的继承机制的实现学时安排:3实验类别:设计性实验实验规定:1人1组学号:姓名一、实验目的1 .掌握单继承和多重继承的概念。2 .理解不同的继承类型:pub I i c、protected和p r iva t e,掌握何时使用何种 继承类型。3 .掌握类层次中构造函数的定义方式和建立对象时构造和析构顺序二、实验原理介绍通过继承机制实现对类功能的扩展,合理设计派生类的构造函数、成员函数。三、实验设备介绍软件需求:w i n dows或I inux下的c+编译器硬件需求:对于硬件方面的规定,建议配置是Pentium I I I 450以上的 CPU解决器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能 支持2 4位真彩色的显示卡、彩色显示器、打印机。四、实验内容实现对第一次实验结果El e vato r类的功能扩展。在E I e vato r类已有功能的i f (down) cou t << e n d I;f o r ( i 二N-1; c urrent F I oor> = f I o o rNu m b er; c u r ren t Floor)(i f (cu r rentFIo o r=f I n i)(Set Con s o I eTe x tA 11 r i but e (GetStdH a n d I e (STD_O U TPUT_HANDLE),FOREGR OUND_ I NTENS I T Y |FOREGROUND_RE D);c o ut<< "第"V Vcurr e ntFloo r V<"层至了"<<en d I ; S I ee p (20 2 3) ; i ;S etC o n s o leTex t Attr ibu t e ( Get S tdHand I e (STD_OUTPUT_H A N DLE), F0 R EGROUND_I N T ENS I TY | F0REGR0UND_R ED I FOREGR0UND_GREEN |F0RE GROUND_B L UE);)e I s e cou t<<" "«curren t F I o or« " 一 " «e ndl ;S I eep(2O23); c u rr e nt F I oo r =f I oorNum b er ; co u t<<end I ; down=fa I se;)voi d Ad v E I evato r : s e t data ()(cou t<<"请告诉我共有几人"«end I ;i nt wei g ht=0;cin»n u m; c o ut< <e n d I ;N =2*num;int i 二0, n= 1, q = 1 ;while (q<=num)(C o ut<v "第”<«<<“位乘客,请依次输入你所在楼层、您想去的楼层及 您的体重(kg)"«end I ;c in» f In i »f ln n »w i;if (judg e (f ln n )= 1 ) (q+;N-=2; flni = '0'co ntinue; weight+二w i;if (wei g ht>500)cou t <Vendl ; c o u t<<"第"<<q<<"位乘客,因超载因素,您不能上 "<<end I «end I ; q + + ; N-=2 ;flni ="O' w e i ght = w i ; w i = 0;co n t i nue;)i + = 2 ; n +=2; q+;)for ( i = O ; i<N 1 ; i+ )fo r(q=i+ 1 ; q<N; q+ )o if ( f lni = f I nq)(o for (n= q ; n<N ; n+ )f lnn = f I nn+1;。N;in t j, k, tem p ;f o r ( j =0 ; j <N; j +)f or (k=0;k<N-1- j ;k+)(if ( f ln k >f In k+ 1 )(tem p =f I n k;fl n k=f I nk+1;flnk+1=temp;)1i f (f I n0='O') num= 100;i f (up) f I oorN u mb e r=f I n N-1;i f (d o w n) f I oo r Num b er = f I n0;)i nt AdvEIeva t or: j udge ( i nt n)(i f (up)(i f (c u r r e n tF I oo r >n)(S etConsoIeTe x t Attr ibu t e (GetSt d H a nd I e (STD_0U T PUT _HA NDLE) , FOREGROUND_INTENSITY I FOREGROUND_RED|FORE GROUND _GREEN);cout<< "您不能上行!别捣乱,给我出去!" V<e ndl;SetConsoIeTe x tA t t r i b ut e (Ge t St d Ha n d I e (STD_OUT P UT_H A ND L E), FOREGR 0 UND_ INTENSITY I FO R EG R 0 UN D _RE D |F0R EGROUND_GREEN|FO R EGR O UND_BLUE) ;r eturn 1 ;)else i f (n>f loor) (SetConso I eText A t t r i but e (G e tSt d H an d I e (ST D _0 U TPUT_HANDL E), FOREGR 0 UND_INTENSIT Y |F0REGR0UND_R ED | F 0 REGROUND_GRE EN);c o u ”没这一层!太高啦!您想上天?!别捣乱,给我出 去! ”<<end I;Set Console! e x tA t tr i b ut e (Get S tdHand I e (S T D_0 U TPUT _ HAN D LE ) , F 0 REGRO U ND_I N TENSITY|FOREGROU N D _ R ED|FOREGROUND_GREEN|FOREGROUND_BLUE);retu r n 1 ; ) i f (down) (i f ( c u rrentF I o o r<n)SetCo n so I eTextAt t r i bute (G e t St d Hand I e (STD_O U T P U T _ HANDLE), FOR EGROUND_INTENS I T Y |FOREGROUND_RED I FOREGROUND_G REEN);cout<<“您不能下行!别捣乱,给我出去!“<<endl ;Set C ons o I e TextA t tr i b ute (GetSt d H and Ie (ST D OUTPUT_H ANDLE) , FOREG R 0 UND_I NTENSITY| F OREGROUND_RED I FOR E GROUND_G R E E N I FOREGROUND_BLUE) ; return 1 ;)eIse if (n<1)(SetC o nso I e TextAt t r ibut e (G e tStdHa n dl e (STD_O U TPUT_H A NDLE), FOR E G ROU N D _ I N T E N S ITY|FO R EGROUND_RED I FOREGROUND GREEN);cout«"没这一层!太低啦!您想入地?!别捣乱,给我出去!”<<end I ;S e tCo n sol eTe x tAttr i but e (GetSt d Hand Ie (S T D_ O UTPUT_HANDLE), FORE G ROUN D_INTENSIT Y | FOREGRO U ND_R ED|FO REGRO UND_GREEN|FOREGROUND_BLUE) ; ret u rn 1;1)return 0;)void AdvEI e vat or:: c h oice () (c i n> > N ;s witch (N)(u p =t r ue ; cout<<"当前电梯停在 <<c u r rentFI o or<<"层"<< e nd I ;s etdat a () ;if (num = 1 0 0) b rea k ; setFloorN u mber () ; b re a k ;case 1 : do wn= t rue;cou t V<”当前电梯停在"<V c ur r entFI o o r <<"层"<< e n d I ;i f (currentF I oo r = = 1)(S e tC o nso I eT e xtA 11 r i bute (GetSt d Hand I e (S T D_OUT PUT_HANDLE), FOR EGRO UND_I NTENSI TY| FOREGROU N D_RED I F O REGROUND_GREEN);coutV< ”您已经在第一层了!除非您自己打洞,不然我是不会带 你下去的!" << end l«end I ; down = false; ret u rn;)set d ata 0 ; i f (num= 1 00)break; set F IoorN u mb e r () ; b reak;c a se 3 :ex i t (0);d e f a u 11 :Se t Con s oIeTe x t A tt r ibute (G e tStdHa n die ( S T D_0 U TP U T_HANDL E ) , F OR E G ROUND_I N T E NSITY I F 0 REGROUND_RED I FORE GROU ND_GREEN);cou t< V "只能选上升和下降!您难道还想玩 电梯漂移? ! " <<end I << e n dI ; b reak;S etCon s o I eTextAttr i bute (Get StdH a n d I e (STD_0UT P UT_H AN D LE), FOREG R 0UND_ I N TENS IT Y I F0 R E G R O U N D _RE D IFOREGROUND_GREEN I FOREGROUND.B LUE);cout<<cout<<"«endl ;)i n t ma i n ()long a;t i me (&a);i n t f loo r ;c oirt<<"告诉我总共有几层"<V e n d I ;c i n»f I o or ;Ad v Elevator el (fl oor);Se t Conso I e T e x tAttr i bu t e (G etSt d H a nd I e (ST D _OUTP U T_ H A N D L E ), FOREGROUND, IN T ENS I TY| F OREGROUN D _R E D | F 0 RE G ROUND_G R EEN|FOREGROUND_BLU E);co u t « c t i m e (&a) «end I ;coutV V"本电梯共“<<f I o or<<"层,且最多上10人,欢迎您的使用(限重 50 0 kg)" < <end I «end I ;whi le(1)(el. c h a rg e。;el. A d vE I ev a tor : : cho ice ();)r eturn 0;)六运营结果Ll DAC+»a2电梯binDebugC+»Bt2.exe诉我总共有几百10Sun Apr 16 13:44:09 2017电梯共10层,且最多上10人,欢迎您的使用(限重500kg)- 作 馨降出 择上由 选 L Z3.- 作 馨降出 择上由 选 L Z3.第1位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg) 1 3 300第2位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)1 2 3002位乘客,因超期原因,您不能上雪需客请依次输入你所在楼层、您想去的楼层及您的体重(加爵翻择上.选 L 23.择上.选 L 23.次降出1位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)4 3 502位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)3 1 501位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)4 3 502位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)3 1 50塞4层到了 第3层到了2第1层到了第1位乘客,请依次输入你所在楼层、您想去的楂层及您的体重(kg)1 11 50簧京藕告勰霸礴副饕i蠢勰您的体重(.)2 3 50一层层1一一层层1一-请选择操作-一m前电曾住在1层您已经在第一一一m前电曾住在1层您已经在第一一一层了!除非您自己打洞,不然我是不会带你下去的!一告层喙 国有 停共I霭客,请依次输入你所在楼层、您想去的楼层及您的体重(kg)肌层到了.2育3层到了 一请我鬻作-i3:fl1位乘客,请依次输入你所在楼层、您想去的楼层及您的体重(kg) 3 0 50没这一层!太低啦!您想入地? !别捣乱,给我出去!七实验心得复习了有关数组的内容,比如排序,去除反复元素;费了很大精力来改,但总觉得写得不好, 代码太长,内容冗杂。有待进步,加强。 基础上派生A d van c edEIe v a t or类。A d v a n ced E lev a tor类可以实现当 多人在不同楼层等待乘坐上行或下行的同一部电梯时,可以合理的根据乘坐人的 需求对电梯经停的楼层进行排序。规定:1 .为了实现上的方便性,我们假设同一组规定乘坐电梯的乘客或者都是上行,或 者都是下行。2 .在主函数中对该类的功能进行测试,测试方法是一方面选择在某一时间段一 组要乘坐电梯的乘客是上行还是下行,然后输入组中乘客的人数及每一个乘客所 在楼层和目的楼层,由A d vanced E levato r类实例化后的电梯对象在运作的过 程中,假如电梯是上行,则能根据乘客所在的楼层和目的楼层从下向上依次停靠; 假如电梯是下行,则能根据乘客所在的楼层和目的楼层从上向下依次停靠。3 .在测试的过程中,还需要注意测试当多个用户在同一楼层或多个用户的目的楼 层为同一楼层时情况的解决。提醒:为了方便描述乘客,我们可以定义一个Per s on类,重要描述每一个乘客所在楼 层和目的楼层。Ad v anced E levator类从E lev a t or类继承而来,它从某一个 时间段要乘坐电梯的每个乘客的信息当中提取其所在楼层和目的楼层信息,然后 对它们进行排序,再由继承自基类E Ie v ato r的成员setFloor N u mber对 要停靠的楼层序列依次输出。思考(可选)假如加入乘客的体重信息,如何实现在停靠楼层对超载信息的提醒。五程序清单main.cpi)el.cpp ± Elevator.h x 1#ifndef ELEVATOR_H2#define ELEVATOR 耳3#include <iostream>4#include <ctime>5# include <windows.h>6 7using namespace std;8class Elevator9 £押10protected:11int floorNumber;12int currentFloor;13int floor:/二14int n;15bool up;16bool down;17public:18Elevator (int floor);19void setUpButton();20void setDownButton();21void setFloorNumber (int floorNumber) ;22void charge();23void choice();24int getcurrentfloor()return currentFloor;25 i26#endif(el.cpp)#i ncIude " E I ev a tor. hE I eva tor:Elev ator (i nt f)(f loor = f ;u p 二 f a I se;d own= f a I s e;c urr e ntFIoor=1 ;I;void E I ev a tor: setU p Bu t ton ()i f (currentFI o o r > f I o or N u mber)S e tC o n soleTextA t tr i b ute (Get Std H an d Ie ( S T D_0UTPUT .HANDLE), FOR E G R OUN D _ IN T ENSI TY I FO R EGROUND_R E D |FO REGROUND_GREEN);c o u t << "您不能上行! " <<end I« e n d I ;e I se if (f I o o r N u mbe r > f I o or)(Se t Conso leT ext A ttr i bu t e (GetSt d H a n d I e (STD O UTPUT_H A NDL E ), F 0 REGR0UND_ I NTENS I TY| FOREGRO UND_RED| FORE GROUND GREEN);coutV”没这一层!太高啦!您想上天? ! "<Xen d l<V e n d I ;)else up二 t r ue;)v o i d Eleva t or : : s e t Down But ton ()i f (currentFIo o r<fI o orNumb e r)SetCons o I e T ex t Attr i bute (G e tS t dH a n d I e (STD_ O UTPU T _H ANDLE),FOREGR OUN D_l NTENS I T Y | FOR E GROUND_R E D | FOR E G ROUND GREEN);c o ut<<"您不能下行! "<V e ndl V Ven d I;e I se i f ( f I o o r N umber < 1 )(SetConso I e T ext Attribute(GetS tdHan d I e (STD_OUT P UT_H AND L E), FOR E GROUND, I NTENSITY I F 0R E G R OUN D_RED|FORE G ROUND _GR EEN);cout<<"没这一层!太低啦!您想入地?! "V Vend I <<endl;) else dow n =true;)v o i d EI e v a tor: s e t FloorNum b er (i n t fl o orNum b er) (i f ( u p)(for (;currentFI o or <f I o o rN u mbe r ;currentFloor+ + ) cou t «""« cur rentF I o o r<<"" <<e n d I ;Sleep (20 2 3) ; S e tCo n so I e T extAt t r i but e ( G e t S td H a n d I e (S T D_OUTPUT_H A N DLE), FORE GRO UND_I NTE N SITY I F OREGROU N D_RED);c out«"H" < <cu r r entFI o or<V "层至Ij 了"<<en d I << e nd I ;up=f a I s e ;i f (down)f or (; cur r entFloo r >f Io o rNumber ;c u rr e n t F I o or-) c o u t <<"一一"<< c urr ent F Ioo r « " 一一"«en d I ;Sleep(2023) ;SetCon s o I e T extAt t r i bu t e (G e t S tdH a n d I e (STD_0 U TPUT_HANDLE)fFOR E GR0UND_l NTENSITY|FOREGROUN D_RED);cout<<"第"<<cur r entFloor« "层到了" V< e nd I << e nd I ;d o w n=faIse;)v o i d E I evator : : cho i c e ()ci n »n;swi t ch (n)(case 1 : cout<<"当前电梯停在"<<c u r r e n tF I o o r << " 层"<<end I ;c o u t << "请输入要进入的楼层"V Vend I ;cin »f loo r N u mber ; s e tllpButto n () ; setF I oorNumbe r ( f loo r N u mber);break ;case 2 c o u t <<"当前电梯停在“<611r e n t FI o or<<"层i f (cu r rentFloor =1)Set ConsoIe T ex t A11 r i but e (Ge t StdH a nd I e (STD_O U TPUT_HA N DLE), FOREG R OUND_IN T E N SIT Y |FO R EGR OUND_RE D |F0R EGROUND_GREEN);cout << ”您已经在第一层了!除非您自己打洞,不然我是不会 带你下去的! "« e nd I «end I; retur n ;)cou t « "请输入要进入的楼层"v v e nd I ; c i n»f loo r N umb e r ; setDownBu t ton () ; set F IoorNu m b er (f I o o rNumb e r) ; br e a k ;ca s e 3: e x i t (0);def a u I t : S e tConso I eTex t Attr ibu t e(Ge t StdHand I e (STD_ OUTPUT. HANDLE ) , FOREGROU N D_INTENSITY| F ORE G ROUN D _RED|FORE GROUND_GREEN);c outV<“只能选上升和下降!您难道还想玩电梯漂 移? ! " <<end I <<end I ; break;)S e tConso I eTex t At t r i bute (G e t S t dHand I e (S T D_O UTPU T _ H ANDLE), FOREGROUN D_l N TENS ITY| F OREG R OUND_RE D | FOREG R O UND_ GREEN|FOREGROUND_BLUE);cout<V"当前电梯停在“<Vcurrent F I o or«"J§"<< e nd I ; void Elevate r : :c h a r g e ()(S e tC o nsole T extA t t r i b ut e (GetS t d H a n d Ie (STD_ OUTPUT_HANDLE), FOREGROUND_INTEN S ITY|FOREGROUND_R ED I FOREGROU N D_G REEN I FOREGROUND_BLUE);co u t«"请选择操作"«end I ;c o ut<<" |1.上升 |"V<endl ;co u t«" |2 .下降 | "<<e n d I ;co u t« " |3.退出 | H « end I ;c out<<" | "«e n d I ;(main, c pp)#in c Iu d e "Eleva t or.h" c I ass Ad v Elevator :public El e va t or(p u bI ic:Adv E I e v a t o r (int f) :EI e v ator (f) c urr e n t F I o or=1 ; void set dat a();void s etFI oo r Numb e r ();v o id ch o i ce ();p r i vate:i n t judge(int);int f ln20;i n t w10;in t N;i n t n urn;);void A d vEI e v at o r:setFloo r Numbe r () (i nt i ;i f (u p )cou t «en d I ;for (i =0; c u r r entFIo o r<= f I o orNumber ;cur r e ntFIoor+)(if ( c u r r e n tFloor=flni)(SetConsoIeTextA t tr i but e (G etStdHandIe(STD_0U T PU T _H ANDLE), FOREGROUND_INTE NS I TY |F0REGR0UND_RED);c ou t V<"第"V< c urre n tF I oor« "层到 了"<< endI ; Sleep (20 2 3) ; i+;SetConsoIeTextA 11 r ibu t e (G e tStdHandIe (STD_0UTPU T_ HANDLE), FOREGROUND_I NTENSITY |FOREGR0UND_RED |F0REGROUND_GR EE N | FORE GR0UND_BLUE);)e I se co u t « -" < <curre n tF I oor < <"一"«end I ;SI eep (2023) ; currentF I o o r=f I oor Numbe r ;co u t« e n d I ; u p=f a I se;

    注意事项

    本文(2023年实验二继承机制实验报告.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开