欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验4 类中数据的共享与保护.docx

    • 资源ID:458047       资源大小:30.52KB        全文页数:15页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    实验4 类中数据的共享与保护.docx

    实验4类中数据的共享与保护一、实验目的与实验要求(1)掌握友元的定义和应用。(2)掌握对象数组的定义、初始化方法及应用。(3)掌握指针和引用作为函数参数的应用。(4)掌握在类内定义静态数据成员以实现共享的基本方法,并根据需要定义相应的静态成员函数专门操作静态数据成员。(5)掌握类中常数据成员的定义及初始化方法,正确使用常数据成员。(6)理解常成员函数的意义以及常对象的意义,在程序中正确定义常对象,并正确调用相应的成员函数。二、实验内容1.编写一个程序,定义一个CimIe类,按下述内容要求定义相关的数据成员及成员函数,最后在主函数中输出各圆的半径及对应面积,并一次性输出平均面积。CirCle类中定义4个数据成员:常数据成员PI代表圆周率,静态数据成员CoUm用于统计圆对象的个数,普通的double型数据成员r代表圆的半径,普通的double型数据成员area代表圆的面积,所有数据成员均定义为私有属性。再定义相关的成员函数,用于求单个圆的面积、输出圆的半径及面积、获取静态数据成员的值。主函数中以一维对象数组定义若干个圆类的对象,调用相应的函数,求面积,并输出每一个圆的半径及对应的面积,并且输出一次圆的个数。在CirCIe类中增加一个友元函数的声明,用来求所有圆面积的平均值,并实现该函数的代码,主函数中增加调用此函数的语句,输出所有圆面积的平均值。#includc<iostream>usingnamespacestd;classCircle(constdoublePI;staticintcount;doubleRadius;public:Circle(doublcr):PI(3.l4)/Radius=newsizeof(r);Radius=r;count+;)doubleArea();doubleCircumferenceO;intGetmount();Circle():PI(3.l4)();doubleCircle:Area()returnPI*Radius*Radius;)doubleCircle:Circumference()returnRadius;)intCircle:GetmountOreturncount;)intCircle:zcount=0;intmain()/Circlecl(3),c2(4);/ofof/ofofdoubler;Circlec2=CircIe(3),Circle(4);/intcount=0;for(inti=0;i<2;i+)(/cin>>r;Circle(r);/ciJ.Circle:Area();/CircleArea();/CiecleCircumferenceO;/Circlecl;ofofreturnO;2.程序改错,请修改下列程序,尽量减少增行或者减行,使程序的运行结果如下:ThenumberofallThenumberofallThenumberofallThenumberofallThenumberofallstudents:0students:1students:0students:2students:2要求:类中的数据成员连同访问属性均不可以修改。错误程序源代码如下:classStudentprivate:charname20;Staticinttotal;用来统计学生总人数public:Student()total+;Student()staticintGetTotal(););staticintStudent:total=0;strcpy(name,p);total+;)staticintStudent:GetTota1()(returntotal;)intmain()deletep;Students2;returnO;classStudentprivate:charnamel20;staticinttotal;public:Student()(total+;Student()(total-;)SstaticinGtetTotal();;intStudentzlotaI=O;Student:Student(char*p)strcpy(name,p);total+;)intStudent:GetTotalOreturntotal;)intmain()(cSdeletep:Students2:returnO;3.设H一个Score类,该结构有两个数据成员,分别为整型的homjteam(主队)和叩Ponent(客队)。用SCore类定义一个含有5个元素的game数组,用于记录一个球队全部5场比赛的每场比分。定义相关的构造函数,初始比分均为0:0,Seto函数用于修改每场比分,GelHometeam()函数用于提取主队的比分,Getpponent()函数用丁提取客队的比分。Display()用于显示比分情况,输出形如55:66。定义对象数组game,并初始化对象数组,以98:67,105:103,88:96的比分给game数组的前三元素赋初值。调用Set()函数为对象数组的其他元素赋值。设计一个查询功能,让用户输入场次,查询该场次比分情况,以输入。为结束。定义普通函数result(Score*p,Score&e),Score类指针用来传递对象数组的首地址,SCog类对象e为一引用,用来存储比赛的总比分成绩。在心疝t()函数中,通过统计每场比赛的比分情况,得出最后总成绩,在主函数中根据end对象中比赛结果,输出最后的胜利者。完成上述程序并回答下列问题:(1)如果将函数result(Score*p,Score&e)改为result(Score*p,Scoree),修改主函数的调用语句,观察程序运行结果,说明原因。(2)如果将函数result(Score*p,Score&e)改为result(Score*p,Score*e),修改主函数的调用语句,观察程序运行结果,说明原因。classScore(inthoneteam;intopponent;public:Score()(hometeam=0;opponent=0;Score(inta,intb)(hometeam=a;opponent=b;voidSet(inta,intb)(hometeam=a;opponent=b;intGetHomeleam()(returnhometeam;)intGetpponent()(returnopponent;)intDisplayO(returnhometeam;returnopponent;intresult(Score*p,Score&e)fbr(inti=0;i<3;i+)if(pli.GetHometeam()>pli.GetOpponentO)(e.hometeam+;)elsee.opponent;intmain()inti;Scoregame5=Score(98,67),Score(105,103),SCOre(88.96),SCOre(),SeOre();ScoreFl=Score(0,0);ccin>>i;while(i>0)(cout<<gamei-1.GetHometeam()<<endl<<gamei-ll.GctOpponent()<<cndl;returnO;)c最终冠军是/result(game,F);if(F0.GctHomcteam()>FO.Getpponcnt()冠军是主队else冠军是客队4.阅读课本P893.6"程序实例-学生信息管理系统”程序,按照课本的运行步骤运行一遍。然后修改该程序,使得在主菜单中选择输入2时,显示如下的的二级菜单:木木*木按照姓名查询*木木*2.按照年龄查询*3.按照专业杳询*4.按照学号查询*木云*木*0j回回主菜单*左*编写对应的二级菜单程序,实现按照不同的查询方式查询学生信息,最后设计运行步骤验证修改后程序是否达到查询学生信息的目的。#include<iostream>usingnamespacestd;constintN=10;voidmenu();voidmenu2();voidOututStu(Student*array);voidInputStu(Student*array);intSearchStu(Student*array,char*na);intSearchStu2(Student*array,cha*rna2);intSearchStu3(Student*array,char*number1);intcount=0;intmain()(StudentarrayN;intchoice;domenu();cin>>choice;if(choice>=0&&choice<=3)switch(choice)(case 1 :InputStu(array);break;case 2do(menu2();cin>>choice;if(choice>=0&&choice<=4)/charna20;switch(choice)(case1:charna20;cin>>na;inti;i=SearchStu(aay,na);if(i=N)查无这人elsearrayi.Display();break;case2:intt;cin>>t;arraylt.Display();case3:charna220;cin»na2;intQ;Q=SearchStu2(array,na2);if(Q=N)查无此专业elsearrayi.Display();break;case4:charnumberI201;cin>>numberll20;intQ;Q=SearchSlu3(array,number1);if(Q=N)查无此学号elsearrayil.DisplayO;break;default:break;while(choice);returnO;/cin>>na;/inti;/i=SearchStu(array,na);/if(i=N)/查无这人!/else/arrayil.Display();/break;

    注意事项

    本文(实验4 类中数据的共享与保护.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

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

    收起
    展开