欢迎来到天天文库
浏览记录
ID:1546633
大小:169.50 KB
页数:21页
时间:2017-11-12
《实验4 运算符重载参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运算符重载1、实验目的和要求:掌握运算符重载的语法要点,学会运算符重载的编程方法。2、实验内容(1)先读程序,写出程序的输出结果,再运行程序验证程序的输出。用友元重载方式重新编写程序。#includeusingnamespacestd;classVector{public:Vector(inti=0,intj=0){x=i;y=j;}Vectoroperator+=(Vectorv){Vectortemp;temp.x=x+v.x;temp.y=y+v.y;returntem
2、p;}Vectoroperator-=(Vectorv){Vectortemp(x-v.x,y-v.y);returntemp;}voiddisplay(){cout<<"("<3、ut<<"v3=";v3.display();//4,6cout<<"v4=";v4.display();//-2,-2}用友元方式实现:#includeusingnamespacestd;classVector{public:Vector(inti=0,intj=0){x=i;y=j;}friendVectoroperator+=(Vector&v1,Vector&v2){v1.x+=v2.x;v1.y+=v2.y;returnv1;}friendVectoroperato4、r-=(Vector&v1,Vector&v2){v1.x=v1.x-v2.x;v1.y=v1.y-v2.y;returnVector(v1.x,v1.y);}voiddisplay(){cout<<"("<5、splay();//3,4cout<<"v3=";v3.display();//4,6cout<<"v4=";v4.display();//1,2}(2)定义一个有理数类Rational,重载算术运算符。写一个完整的程序,测试各种运算符的使用,要求输出化简后的计算结果,注意分母不能为零!测试代码样例:RationalA(2,6),B(1,-2),C;C=-A;C.print();//输出1/3C=A+B;C.print();//输出-1/6C=C*A/B;C.print();C=++A;A.pr6、int;C.print();C=B--;B.print;C.print();源程序:#includeclassRational{public:Rational(intnn=1,intmm=1);voidprint();voidsimple();Rationaloperator+(Rational&a);//加法friendRationaloperator-(Rational&a,Rational&b);//减法friendRationaloperator*(Rationa7、l&a,Rational&b);//乘法friendRationaloperator/(Rational&a,Rational&b);//除法Rationaloperator-();//取反Rational&operator++();//r=++r1Rationaloperator++(int);//r=r1++Rational&operator--();//r=--r1Rationaloperator--(int);//r=r1--operatordouble();friendostream&8、operator<<(ostream&output,Rational&a);booloperator<(Rational&);friendbooloperator==(Rational&,Rational&);private:intm;//分母intn;//分子};Rational::Rational(intnn,intmm){m=(mm!=0)?mm:1;n=nn;}//r=r1+r2;RationalRational::operator+(Rational&A){RationalC;C.n=
3、ut<<"v3=";v3.display();//4,6cout<<"v4=";v4.display();//-2,-2}用友元方式实现:#includeusingnamespacestd;classVector{public:Vector(inti=0,intj=0){x=i;y=j;}friendVectoroperator+=(Vector&v1,Vector&v2){v1.x+=v2.x;v1.y+=v2.y;returnv1;}friendVectoroperato
4、r-=(Vector&v1,Vector&v2){v1.x=v1.x-v2.x;v1.y=v1.y-v2.y;returnVector(v1.x,v1.y);}voiddisplay(){cout<<"("<5、splay();//3,4cout<<"v3=";v3.display();//4,6cout<<"v4=";v4.display();//1,2}(2)定义一个有理数类Rational,重载算术运算符。写一个完整的程序,测试各种运算符的使用,要求输出化简后的计算结果,注意分母不能为零!测试代码样例:RationalA(2,6),B(1,-2),C;C=-A;C.print();//输出1/3C=A+B;C.print();//输出-1/6C=C*A/B;C.print();C=++A;A.pr6、int;C.print();C=B--;B.print;C.print();源程序:#includeclassRational{public:Rational(intnn=1,intmm=1);voidprint();voidsimple();Rationaloperator+(Rational&a);//加法friendRationaloperator-(Rational&a,Rational&b);//减法friendRationaloperator*(Rationa7、l&a,Rational&b);//乘法friendRationaloperator/(Rational&a,Rational&b);//除法Rationaloperator-();//取反Rational&operator++();//r=++r1Rationaloperator++(int);//r=r1++Rational&operator--();//r=--r1Rationaloperator--(int);//r=r1--operatordouble();friendostream&8、operator<<(ostream&output,Rational&a);booloperator<(Rational&);friendbooloperator==(Rational&,Rational&);private:intm;//分母intn;//分子};Rational::Rational(intnn,intmm){m=(mm!=0)?mm:1;n=nn;}//r=r1+r2;RationalRational::operator+(Rational&A){RationalC;C.n=
5、splay();//3,4cout<<"v3=";v3.display();//4,6cout<<"v4=";v4.display();//1,2}(2)定义一个有理数类Rational,重载算术运算符。写一个完整的程序,测试各种运算符的使用,要求输出化简后的计算结果,注意分母不能为零!测试代码样例:RationalA(2,6),B(1,-2),C;C=-A;C.print();//输出1/3C=A+B;C.print();//输出-1/6C=C*A/B;C.print();C=++A;A.pr
6、int;C.print();C=B--;B.print;C.print();源程序:#includeclassRational{public:Rational(intnn=1,intmm=1);voidprint();voidsimple();Rationaloperator+(Rational&a);//加法friendRationaloperator-(Rational&a,Rational&b);//减法friendRationaloperator*(Rationa
7、l&a,Rational&b);//乘法friendRationaloperator/(Rational&a,Rational&b);//除法Rationaloperator-();//取反Rational&operator++();//r=++r1Rationaloperator++(int);//r=r1++Rational&operator--();//r=--r1Rationaloperator--(int);//r=r1--operatordouble();friendostream&
8、operator<<(ostream&output,Rational&a);booloperator<(Rational&);friendbooloperator==(Rational&,Rational&);private:intm;//分母intn;//分子};Rational::Rational(intnn,intmm){m=(mm!=0)?mm:1;n=nn;}//r=r1+r2;RationalRational::operator+(Rational&A){RationalC;C.n=
此文档下载收益归作者所有