《【例1-1】一个简单的C#控制台应用程序.docx》由会员分享,可在线阅读,更多相关《【例1-1】一个简单的C#控制台应用程序.docx(11页珍藏版)》请在第壹文秘上搜索。
1、北京午便大,*世亿号企实验报告课程名称面向对象程序设计(C+)实验项目实验5继承与派生专业软生隋班级班姓名学号指导教师祝凯实验成绩2024年5月23日实验5:继承与派生【实殴目的】1 .球旌公有维承、私有继承和保护继承.2 .掌握多级派生时的访问属性判断方法.3 .掌握第承中构造函数、析构函数询用顺序.4 .掌旌多重继承用法。【实验要求】1 .每个梗目需要提交完整代码,及运行结果被图,2 .实验心得:逐条说明自己在实验过程中遇到过的何趣,如何解决,或者自己的任何收获都可.【实验内容】1 .完成教材第5章继承与源生P2O2页第I超.练习公有继承.程序代码#inc1.udc包含输入谕出流的头文件#
2、inc1.udc包含字符申类的头文件usingnamespacesd;使用标准命名空间Stdc1.assSesex;输入函&VuiddispkiyO输出函数(cout*num:numcnd1.;输出编号cout*name:namccnd1.;输出姓名CIMIIVUsex:sex:c1.assSdK1.entkpiib1.icStudent定义StUden1.I类,公布继承自SIUdemIpub1.ic:声明以下函数公有的voidgct_va1.uc_I()cinagcaddr;输入函数VoiddiSP1.ay。阑出函数(cout*age:agcend1.:“输出年龄Co1.HWaddress:
3、addcnd1.;输出住址Iprivate:声明以下数据是私有的intage;年龄string1.dr;hintmain()IStiK1.eniIs(ud;Studagecva1.ueO:stud.gct-va1.uc_1.();SIUddisp1.ay。;s1.ud.disp1.ayO;return0:住址定义StiKkm1.类的对象SUK1.调用S1.Ud的输入函数输入编号姓名性别输入年龄和住址输出编号姓名性别输出年龄和住址is输入编号姓名性别年龄住址行例:结I(X)IZhoum20hcbci(1.1.)果截图2 .完成教材第5代继承与派生P202页第2理.练习札有继承,程序代码#inc1
4、.udc包含输入谕出流的头文件#inc1.udc包含字符小类的头文件usingnamespacestd;使用标准命名空间StdC1.aSSStudent定义Student类pub1.ic:声明以下函数公有的voidget_va1.e()cinnmnanesex;输入函数v3ddispky()输出函数(coutnum:numcnd1.;输出编号cou(name:nameend1.;输出姓名CIMI1.VVsex:sexageaddr:输入年龄和住址1Ivoiddisp1.ay_1()“输出函数Idisp1.ay。;调用暴灵公有函数给出编号姓名性别COUivvage:ageend1.;输出年龄co
5、utMaddress:*addrcnd1.:输出住址Iprivate:声明以下数据是私有的image;年龄stringaddr:住址);intmain。IIStudent!stud:定义Studcnt1.类的对象studMud.gct_va1.uc_1.();输入stud.disp1.ay_1();隔出re1.um0:Iis输入编号姓名性别年龄住址行例:结I(K)IZhoum20hcbci(1.1.)果豉图3.完成教材第5章继承与派生P2O2页第3题.练习保护继承.Winc1.ude包含输入输出流的头文件#inc1.udc包含字符串类的头文件usingnamespacestd;使用标准命名空间
6、Stdc1.assStudent定义Student类fIpub1.ic:声明以下函数公有的程rkprotected:声明以下数据是保护的f件intnum:,编号Kmstringname:姓名charsex;性别:c1.assS(udcntkp11tectedStudent定义StudentI类,保护缗承自StudentI(pub1.ic:世明以下函数公有的voidgei_va1.ue10;隔入函数voiddisp1.ay1():输出函数private:声明以下数据是私有的image:年龄stringaddr:住址;voidStudentI:gei_va1.ueI()fIcinnu11namcs
7、cx;输入编号姓名性别cinagcaddr;输入年龄和住址IIvoidStuden1.kidispIay1.O输出函数j1coucmnum:Hnumcnd1.;输H1.编号couname:eend1.;输出姓名cou1.sex:sexend1.:输出性别cout,age:,agecnd1.;输出年龄coutwaddress:*addrcnd1.;输1.1.(1.tIrininain()IStodcnt1.stud;定义Studcm1.类的对望studstud.gei_va1.ue1():输入SIUd.disp1.ay10:输H1.return0;运输入编号知名性别年龄住址行例:站100Izho
8、um20hebei(回车)果曲图4.完成教材第5政继承与派生P2O4贞第6起.分析访问属性,说明:此题不交源程序,参照P1.74表5.5形式列出各成员在不同类中的访问属性程序代码类别HO310()kmf4()mnf5()Pq基类A公用保护私有公用派生类B公用保护不可访问公用公用私有保护源生类C保护保护不可访问保护保护不可访问公用保护私(1私有源生类D私有私有不可访问私私有不可访问私有私有不可访问公有保护私运行结果械图5完成教材第5章维承与派生P205页第7牌.分析构造函数调用过程.说明:此鹿除了提交源程序和运行结果收图,还要求文字分析结果是怎么输出出来的,特别是构造函数调用的过程,分析写在裁图
9、下方.程序代码析nc1.deusingnamespaces1.d;c1.assA(pub1.ic:A()a=0b=0:IA(inti)Ia=i;h=O:JA(inti,intj)a=i;b=j;voiddisp1.ay。cou(a=wab=Mb;private:inia:intb;:c1.assB:pub1.icA(pub1.ic:BO(C=0:B(inti):A(i)(c=0:)B(inti.intj):A(i.j)c=0:)B(inti.intj,intk):A(i,j)c=k;voiddisp1.ay1()disp1.ay。;cou1.c=cend1.:Iprivate:inic;:im
10、main()Bb1.:Bb2(1.);Bb3(1.3);BM(1.3.5);b1.disp1.ay10;b2.disp1.ayi():b3.disp1.ay1.();b4.disp1.ay1.();returnO;)运行结果裁图运行后搬图Bb1.;先调用构造函数A()再调用构造函数BOBb2(1.):先调用构造函数A(inti)再调用构造函数B(inti)Bb3(1.3);先调用构造函数A(inti,intj,再调用构造函数B(inti,intj)Bb4(1,3.5);先调用构造函数A(inii.inij)再调用函数B(inii.intj.i11(k)6 .完成教材第5堂维承与派生P205页第8跑,分析构造、析构函数调用过程.说明:此遨除了提交源程序和运行结果截图,还要求文字分析结果跟怎么怆出出来的.特别是构造和析构函数调用的过程,分析写在截图下方。程序代码Winc1.udcusingnamespacestd;c1.assA(pub1.ic:A()(cou(ConsimctingA*运行结果旅图运行后成图在创建c1.这个对象时,首先调用A类的构造函数再调用B类的构造函数再调用C类的构选函数,因为B类是C类的基类,A类是B类的基类.在择放对型占用的空间时是C