欢迎来到天天文库
浏览记录
ID:38698831
大小:46.50 KB
页数:6页
时间:2019-06-17
《实验四-运算符重载-实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告实验目的:掌握运算符重载的语法要点,学会运算符重载的编程方法。实验内容:(1)先读程序,预测程序的输出结果,再运行程序验证程序的输出。用友元重载方式重新编写次程序。#includeclassVector{public:Vector(){}Vector(inti,intj){x=i;y=j;}friendVectoroperator+=(Vectorv1,Vectorv2){v1.x+=v2.x;v1.y+=v2.y;returnv1;}Vectoroperator-=(Vectorv){Vectortemp;temp.x=x-v.x;temp.
2、y=y-v.y;returntemp;}voiddisplay(){cout<<"("<3、keytocontinue用友元重载方式重新编写次程序:#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;}friendVectoroperator-=(Vector&v1,Vector&v2){v1.x=v1.x-v2.x;v1.y=v1.y-v2.y;returnVector(v1.x,v1.y);}vo4、iddisplay(){cout<<"("<5、ytocontinue(2)定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。#includeclassrational{private:longdenom,den;public:rational(longnum=0,longdenom1=1){denom=num;den=denom1;}intoperator<(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x6、lr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x<=y)return1;return0;}intoperator==(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x==y)return1;return0;}intoperator!=(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x!=y)return1;return0;}voidset(l7、ongdenom1,longden1){denom=denom1;den=den1;}voidread(){cout<>x>>y;rationalA(x,y);cout<<"请输入B的分子和分母:";cin>>x>>y;rationalB(x,y);cout<
3、keytocontinue用友元重载方式重新编写次程序:#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;}friendVectoroperator-=(Vector&v1,Vector&v2){v1.x=v1.x-v2.x;v1.y=v1.y-v2.y;returnVector(v1.x,v1.y);}vo
4、iddisplay(){cout<<"("<5、ytocontinue(2)定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。#includeclassrational{private:longdenom,den;public:rational(longnum=0,longdenom1=1){denom=num;den=denom1;}intoperator<(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x6、lr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x<=y)return1;return0;}intoperator==(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x==y)return1;return0;}intoperator!=(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x!=y)return1;return0;}voidset(l7、ongdenom1,longden1){denom=denom1;den=den1;}voidread(){cout<>x>>y;rationalA(x,y);cout<<"请输入B的分子和分母:";cin>>x>>y;rationalB(x,y);cout<
5、ytocontinue(2)定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。#includeclassrational{private:longdenom,den;public:rational(longnum=0,longdenom1=1){denom=num;den=denom1;}intoperator<(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x6、lr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x<=y)return1;return0;}intoperator==(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x==y)return1;return0;}intoperator!=(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x!=y)return1;return0;}voidset(l7、ongdenom1,longden1){denom=denom1;den=den1;}voidread(){cout<>x>>y;rationalA(x,y);cout<<"请输入B的分子和分母:";cin>>x>>y;rationalB(x,y);cout<
6、lr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x<=y)return1;return0;}intoperator==(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x==y)return1;return0;}intoperator!=(rationalr)const{doublex,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x!=y)return1;return0;}voidset(l
7、ongdenom1,longden1){denom=denom1;den=den1;}voidread(){cout<>x>>y;rationalA(x,y);cout<<"请输入B的分子和分母:";cin>>x>>y;rationalB(x,y);cout<
此文档下载收益归作者所有