c++类的题目,急啊,不难,高分悬赏,要快。

来源:百度知道 编辑:UC知道 时间:2024/06/14 12:41:01
设计一个分数类Fraction,表示分数,可以进行算术运算,并完成输入输出,输出时分子分母能自
动约到最简。请编写Fraction这个类,并可以使如下程序正常运行:
#include<iostream.h>
int main()
{
Fraction f1(1,6); //f1=1/6
Fraction f2(1,4); //f2=1/4
cout<<f1+f2<<endl; //output 5/12
cout<<f1*f2<<endl; //output 1/24
cout<<-f1<<endl; //output -1/6
f1+=f2; //equivalent to f1=f1+f2
f1*=f2; //equivalent to f1=f1*f2
if(f1==f2)
cout<<"f1 is equal to f2"<<endl;
else if(f1>f2)
cout<<"f1 is bigger than f2"<<endl;
else
cout<<"f1 is smaller than f2"<<endl;
}

十一点半之前做完,逾期无用,谢谢。
如顺利解决,本人将追加悬赏分100,决不食言。

#include<iostream>
using namespace std;
//numerator 分子
//denominator分母
int gcd(int m,int n) //求最大公约数函数,用于约分
{
if(n==0)return m;
return gcd(n,m%n);
}
class fraction
{
private:
int numer;
int denom;
public:
fraction(int n=0,int d=1)//带默认参数的构造函数,整数与分数的运算迎刃而解
{
numer=n;
denom=d;
}
void rev(fraction &a){numer=a.denom;denom=a.numer;}//倒数
friend ostream& operator<<(std::ostream&, const fraction&); //重载输出
friend istream& operator>>(std::istream&, fraction&); //重载输入
friend bool operator==(const fraction&, const fraction&); //判断有理数是否相等,以下类似
friend bool operator<(const fraction&, const fraction&);
friend bool operator>(const fraction&, const fraction&);
friend bool operator>=(const fraction&, const fraction&);
friend bool operator<=(const fraction&, const fraction&);
friend fraction operator +(const fraction