C++面向对象程序设计实验七多态性_第1页
C++面向对象程序设计实验七多态性_第2页
C++面向对象程序设计实验七多态性_第3页
C++面向对象程序设计实验七多态性_第4页
C++面向对象程序设计实验七多态性_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、要想学习好努力少不了。聡叵Km阻吐哽W回联垛颗拠心凹厶09+OA启4ki-MSBIzz。益M运梓M毁H,;,丰噪耕建同寸“镒撑派毁玄丹彖冈匸噪耕灌同m“镒卿梓Mlax丹彖国唱冬噪耕建!一.cl聲呂雲坐糕揺尿S违怆摧灌!J二皿制体芒e删WM坷软国嵋gvs学长只能帮你到这了xonln.sIEO+meu.sIf卩lIEO+lupDzaoXUIdmouo0XIEOxQIckuooo)+JolFsdoxQIckuouubnmu二三wa二三AHmccUHXHI畧(A14xsDXoIckuouuCM51H.SoHp?七;voidmainOCComplexobj1(100,30);CComplexobj2(2

2、0,30);CComplexobj;obj=objl+obj2;/coutobj.realencil;coutobj.imagendl;问题一:处的运算符重载,为什么该函数的返回值要设计成CComplex类型?答:因为复数相加后仍然是复数,因此要设计成原来的复数类型。问题二:处的运算符重载函数调用就相当于“o可=objl.operatorobj2),”,但是为什么CComplex类中的运算符重载函数只设计了一个参数?答:因为此处调用的函数是成员运算符重载函数,所以形参表中只冇一个参数,它作为运算符右操作数,另一个操作数是当前对象objl.2.理解卜面的程序,并在VC+6.0下运行查看结果,回答

3、程序后面的问题。includeiostieam.himag=0.0;imag=0.0;CComplex(floatx,floaty)real=x;imag=y;CComplexoperator+(CComplex&ol,CComplex&o2)CComplexobj3(objl.real+obj2.real,objl.imag+obj2.imag);rehirnobj3;CComplex&operator+(CComplex&obj)obj.real41;obj.imag41;rehirnobj;voidprintOcoutrealf中imagni,rendl;private:floatrea

4、l;floatimag;CComplex&operator-(CComplex&x)x.real=1;x.imag=1;retiinix;CComplex2.132);CComplexvoidmainOCComplex2.132);CComplex3625);x州3=o隔古Q眼*弋眼口morcoutefor+,obj3=M;obj3.printQ;+obj3;coutr,after-H-,obj3=;obj3.print0;-obj3;coutMafter-,obj3=H;obj3.print0;CComplexobj4=+obj3;coutrrobj4=M;obj4.print0;问题一:以

5、上程序中的三个运算符重载都有错误,试改正过来,并分析该程序的输出结果。答:1把函数CComplex&operator-(CComplex&x)在类中定义为友元函数这样就可以调用私有成员。达到的目的。CComplexoperator+(CComplex&objl,CComplex&o功2)中把其中一个引用去掉因为这是成员运算符重载函数,只能有一个形参,另一个是当前对象。然后把下一句中的其中一个obj去掉。CComplex&operator-H-(CComplex&obj),单目运算符重载,其成员运算符重载函数没有参数,当前对象是运算的操作数,用this指针返回当前值。国*C:DOCUlEliTS

6、ANDSETTINGSobjl=2.1+3.2ibj2=3.6+2.5ibefor+,obj3=5.7+5.7iafter+,obj3=6.7+6.7iafter-,obj3=5.7+5.7ibj4=6.7+6.7iPressanykeytocontinue.722程序设计1.把721中第一道题的程序改造成采取友元函数重载方式来实现“+”运算符,并采取友元函数重载方式增加前置和后置“+”以及“-”运算符重载,并设计主函数来验证重载运算符的用法。参照课本219页例5.9objl原值:90310.111affterobjl+obj2:real=91109ima9=121after+objl:rea

7、l=90311imas(=112objl+:real=90312,imag=113一一objlobjl+:real=90312,imag=113一一objl:real=90311,imag=112objl:real=90310amag=iiijanykeytocontinue_afterafterafterPress电弋泰iortkclassCComplexpublic:CComplexOreal=0,imag=0,CComplex(intx,mty)real=x,unag=y,fiiendCCoinplexoperator+(CComplexobjl,CComplexobj2),fiiend

8、CCoinplexoperator+(CComplex&),fiiendCCoinplexoperator+(CComplex&,int),/后缀方式fiiendCCoinplexoperator-(CComplex&obj4),fiiendCCoinplexoperator-(CComplex&obj4,int),/后缀方式学长只能帮你到这了要想学习好努力少不了IPUvvmeun二qoVVTH-=VV4noo-1曇二qovvls,-=vv4noo厂+4-二qoJ9uevv4no。+二qo=二qo】puvvmeun二qoVVTHI-=VV4noo-1曇二qovvls,-=vv4noo二qo+g

9、evxno。三qo+4=qoIPUCDvvspun.qovvheu5vv4noo尽jqovvls,-=vv4noo-eiqo+-qoJD右e=vv?oqo+=qouqo-pusvvgeun二qovyyE二qoy迫M二qo.vxnooqoxtdulooo(0二66ocqonoksoou(三0706)二qoXYduIOOO0UT&UIP-OA(寸一qoNosooovJO4EJ9do0-&500寸fqolu2Dr+IeDJ寸qoHWCDJ寸fqo+8elu寸qohpmr寸qo(4ur寸0闵xuIdluooo)+JO4EJ9doxCDIdluooomfqoEaoJbD&=mrqo+-H=emr=qo】

10、eCDJgrqo-HIpoJ-qo(030闵x(DIdluooo)+JO4EI9doxCDIdluooomqoIU2OJ(geun二qo+ODeuncifqo二qo+wejclfqo)竺qoxaldluooo(JqoEdluooo二qoxoldulooo)+JO4e,sdoxCDIdluoooobeulr4m】曇4m要想学习好努力少不了4lnodoSSBOP七(DoedsCDlueuODlnsnAse卩qsolv(Dpnoul#si虫殳氓以旺咲农緊冈#)。超注启迴突制次富怵JMK-孑報卿絲wsdorx(A)怎剧暮吴(X)忑翔逵融赵DK菸VK悴签莒。do汉锻二IPUvvMEUH二qoVVTHI-

11、=VV4noo-IEOJIqovvls,-=vv4noo;二qoJ9uevxno。T二qo=Iqo】puvvEun二qoVVTHI-=VV4noo-1曇二qovvls,-=vv4nooJ二qo;J9uevv4no。二qodlfqo学长只能帮你到这了】Ea卩I匕do+XXdo+.(XXdo.xxdo)4WTOdo(docy4ulodo)-HO4p55do4UIOdo宀lvvx=vvvv-.vvxxy).vxnooodslppiOA0闵4UIOdo);JOWJSdo4lnodopuecs窈4UIOdo);JOWJSdo4lnodopuecsOufi84lnodo)+JOWJSdo4lnod。puecsff4lnodo)+JOWJSdo4lnod。puecsfXXCPointoperatoi+b(CPoint&op,int)CPointt(opxx,op.yy),op.xx+,opyypreturnt,CPointoperator-(CPoint&op)CPointt(opxx,op.yy),-op.xx,-opyy,returnt,CPointoperator-(CPoint&op,int)CPointt(opxx,op.yy),op.xx-,op.w-cout横纵坐标都自增后0点坐标:jpointldispO

温馨提示

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

评论

0/150

提交评论