首页 > 代码库 > C++程序设计实践指导1.6分数运算改写要求实现
C++程序设计实践指导1.6分数运算改写要求实现
改写要求:重载>>和<<实现分数类对象的直接输入输出,重载+完成多个分数对象加法
#include <cstdlib>#include <iostream>using namespace std;class Fract{ int num,den; public: friend ostream& operator << (ostream& output,Fract& temp); friend istream& operator >> (istream& intput,Fract& temp1); Fract operator + (Fract& temp1); int gcd(int m,int n) { int r; if(m<n) { r=m;m=n;n=r; } while(r=m%n) { m=n; n=r; } return n; } };istream& operator >>(istream& input,Fract& temp1){ input>>temp1.num>>temp1.den; return input;}ostream& operator <<(ostream& output,Fract& temp){ output<<temp.num<<"/"<<temp.den<<endl; return output;}Fract Fract::operator + (Fract& temp1){ Fract sum; int x,y,temp; x=num*temp1.den+den*temp1.num; y=den*temp1.den; temp=gcd(x,y); x=x/temp; y=y/temp; sum.num=x; sum.den=y; return sum;} int main(int argc, char *argv[]){ Fract temp1,temp2,temp; cin>>temp1>>temp2; temp=temp1+temp2; cout<<temp; system("PAUSE"); return EXIT_SUCCESS;}
C++程序设计实践指导1.6分数运算改写要求实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。