c++运算符重载习题_第1页
c++运算符重载习题_第2页
c++运算符重载习题_第3页
c++运算符重载习题_第4页
c++运算符重载习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、Task8-1/*1.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和*/#include<iostream>usingnamespacestd;cIassCompIex(pubIic:Complex()real=0;imag=0;CompIex(doubler,doublei)real=r;imag=i;voiddisplay();doublereaI;doubleimag;voidComplex:display()(cout«"("«real

2、71;","«imag«"i)”;)CompIexoperator+(CompIex&d,CompIex&c2)CompIexp;二十;二十;returnp;intmain()(CompIexc1(3,5),c2(2,5),c3;0;cout«"+"0;cout«"="c3=c1+c2;0;f5匚+*肾习»8章作电收5k8口由相p,5i>+<2,5£>-<5,IBi>Pr-oGcssr-etiir-rt"d0C

3、QKaexscutiontime:=6.481sPressanykeytocontinue,Task8-2/*2.定义一个复数类Complex,重载运算符“”/",使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数,编程,分别求两个复数之和差积商。*/#incIude<iostream>usingnamespacestd;cIassCompIexpubIic:Complex()real=0;imag=0;CompIex(doubIer,doublei)real=r;imag=i;CompIexoperator+(CompIex&c2);C

4、ompIexoperator-(CompIex&c2);CompIexoperator*(CompIex&c2);CompIexoperator/(Complex&c2);voiddispIayo;private:doublereaI;doubleimag;CompIexComplex:operator+(CompIex&c2)CompIexc;=real+;=imag+;returnc;Comp I ex Comp lex:operator"(Comp I ex &c2)Comp I ex c;returnc;)Complex c;CompI

5、exComplex:operator*(CompIex&c2)二real*;=imag*;returnc;)CompIexComplex:operator/(CompIex&c2)CompIexc;二(reaI*+imag*/*+*;二(imag*/*+*;returnc;)voidComplex:display()cout«"("«real«n,"«imag«"i)"«endI;)intmain()CompIexd(3,4),c2-10),c3;c3=c1+c2;co

6、ut«"c1+c2="0;c3=c1-c2;cout«"c1-c2="0;c3=c1*c2;cout«nc1*c2="0;c3=d/c2;cout«"c1/c2="0;return0;司gC+期习馍8空作业M煎k&Tfxecl+c2=<8,-6i>cI-c2=<-2,X4i5匚1利cI/c2=<-0-2,0.4i?Processreturned0<0x0>executIontine-0.638sPressanyke51tocontinue_T

7、ask8-3/*3.有两个矩阵a和b,均为n行m歹U(m、n的值自己给出),求两个矩阵之和、差、积、商,重载运算符“使之能用于矩阵向加减乘除,如c=a+b、c=a*bo*/#incIude<iostream>#definen2#definem3usingnamespacestd;cIassMatrix1D:CH悌习8意作业'匕业"3总烬inputvalueofmatrix:1863894inputv"lueofmatrix:123432Matrixa:18E3894Matrixh:123432,3+c=N-atrixa+Mettrixk1?8612126

8、k7 4 Ga - Hatr-Ik bMatrixc-Matrixa.*Matrixb:18129322?8=Macpixa/rtAti*ixb:1831232Processreturned0CBxQ)&c:uti«ntimes46-669BPriisdnyk总y"Ieontinu.e.在第三题的基础上,重载运算符>>和<<,使之能用于该矩阵的输入和输出*/#include<iostream>#definen2#definem3usingnamespacestd;cIassMatrixjj8C1修习茜a克作业常输人第一个阵ISB6

9、情输入第二个nF1矩阵246W32tlatrixa:16S6S£4tlatrixb;Q46Matrixc=tlotrixQ+Matrix1212121296|32|Processreturnedg(0x0>executiontinc:36.78GsPressAnyketocontinue.实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、求反、比较(6种关系)的运算*/#include<iostream>#include<>usingnamespacestd;intgcd(intm,intn);cIassFraction(pri

10、vate:intnume;/分子intdeno;/分母pubIic:Fraction(intnu=0,intde=1);/构造函数,初始化用voidSet(intnu=Otintde=1);/置值,改变值时用Fractionoperator+(Fraction&c2);Fractionoperator-(Fraction&c2);Fractionoperator*(Fraction&c2);Fractionoperator/(Fraction&c2);booloperator>=(Fraction&c2);Fractionoperator-();v

11、oiddispIay();voidSimplifyO;/化简(使分子分母没有公因子);Fraction:Fraction(intnu,intde)(if(de!=0)(nume=nu;deno=de;)eIse(cout<<”格式错误,程序退出n”;exit(0);)voidFraction:Set(intnu,intde)(if(de!=0)(nume=nu;deno=de;)voidFraction:display()(cout«nume«'/'«deno«endI;)求分子,分母最大公约数intgcd(intm,intn

12、)intr;if(m<n)r=m;m=n;n=r;)while(r=m%n)(if(r=0)break;m=n;n=r;)returnn;)将分数化简voidFraction:SimpIify0(intn=gcd(nume,deno);nume=nume/n;deno=deno/n;cout«nume«1/1«deno;)FractionFraction:operator+(Fraction&c2)(Fractionc;二deno*;=nume*+*deno;returnc;)FractionFraction:operator-(Fraction&a

13、mp;c2)(Fractionc;二deno*;=nume*returnc;)FractionFraction:operator*(Fraction&c2)(Fractionc;二deno*;=nume*;returnc;FractionFraction:operator/(Fraction&c2)Fractionc;=deno*;=nume*;returnc;)boolFraction:operator>=(Fraction&c2)nume=nume*;=*deno;if(nume>=returntrue;eIsereturnfalse;FractionF

14、raction:operator-()Fractionc;=nume;=deno;returnc;)intmain()(Fractiond(1,2),c2(5,8),c;cout«"c1=";0;cout«"c2二";0;c=c1+c2;cout«"c1+c2="0;cout«endI;c二c1-c2;cout«"c1-c2="0;cout«endI;c=c1*c2;cout«"c1*c2="0;cout«endI;c=c1/c2;cout«Hc1/c2=n;0;c

温馨提示

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

最新文档

评论

0/150

提交评论