c++分数运算符重载

c++分数运算符重载

ID:14290524

大小:60.50 KB

页数:3页

时间:2018-07-27

c++分数运算符重载_第1页
c++分数运算符重载_第2页
c++分数运算符重载_第3页
资源描述:

《c++分数运算符重载》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《c++面向对象程序设计》大作业报告班级:计科1102班学号:0304110233姓名:张静成绩:题目:8—1内容:对分数的+-*/运算符,及输入、输出的重载。设计思路:分数的+-*/运算符定义为分数类的成员函数或友元函数,输入输出定义为分数类的友元函数。程序代码:#includeusingnamespacestd;classfactor;factoroperator+(factorc1,factorc2);factoroperator-(factorc1,factorc2);classfactor//分数

2、类声明{public://外部接口factor(intm=0,intd=0){mole=m;deno=d;}//构造函数friendfactoroperator+(factorc1,factorc2);//运算符+重载为友元函数friendfactoroperator-(factorc1,factorc2);//运算符-重载为友元函数factoroperator*(factorc2);//*重载为成员函数factoroperator/(factorc2);///重载为成员函数intM_C_divisor();friendist

3、ream&operator>>(istream&s,factor&z){cout<<"请输入一个分数的分子和分母(用空格分割分子分母):";s>>z.mole>>z.deno;returns;}friendostream&operator<<(ostream&s,factor&z){z.M_C_divisor();s<<"("<

4、sor;};factoroperator+(factorc1,factorc2)//运算符重载友元函数实现{intm,n,r,b;m=c1.deno;n=c2.deno;b=m*n;r=m%n;while(r!=0){m=n;n=r;r=m%n;}b=b/n;c2.mole=c2.mole*b/c2.deno;c1.mole=c1.mole*b/c1.deno;returnfactor(c2.mole+c1.mole,b);}factoroperator-(factorc1,factorc2)//运算符重载友元函数实现{int

5、m,n,r,b;m=c1.deno;n=c2.deno;b=m*n;r=m%n;while(r!=0){m=n;n=r;r=m%n;}b=b/n;c2.mole=c2.mole*b/c2.deno;c1.mole=c1.mole*b/c1.deno;returnfactor(c1.mole-c2.mole,b);}factorfactor::operator*(factorc2)//重载函数实现{factorc;c.mole=c2.mole*mole;c.deno=c2.deno*deno;returnfactor(c.mol

6、e,c.deno);}factorfactor::operator/(factorc2)//重载函数实现{factorc;c.mole=c2.mole*deno;c.deno=c2.deno*mole;returnfactor(c.mole,c.deno);}intfactor::M_C_divisor(){intm,n,r;m=mole;n=deno;r=m%n;while(r!=0){m=n;n=r;r=m%n;}divisor=n;returndivisor;}intmain(){factorf1;cin>>f1;cou

7、t<<"f1="<>f2;cout<<"f2="<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。