请问下面的代码如何改为重载分数的运算符
#include<iostream>
using namespace std;
class fraction
{
public:
fraction(int mm,int nn);
void setfraction (int a,int b){fenzi=a;fenmu=b;}
void display(){cout<<"分子/分母="<<fenzi<<'/'<<fenmu<<endl;}
private:
int fenzi,fenmu;
};
fraction::fraction(int mm,int nn)
{
fenzi=mm;fenmu=nn;
if(fenmu==0) cout<<"此分数没有意义!请重新输入!"<<endl;
if(fenmu<0) cout<<"分母不能为负数!请重新输入!"<<endl;
int a;
if(fenzi>0)
if(fenzi>=fenmu)
{
for(a=fenmu;a>=0;a--)
if(fenzi%a==0)
if(fenmu%a==0)
{fenzi=fenzi/a;fenmu=fenmu/a;break;}
}
else
{
for(a=fenzi;a>=0;a--)
if(fenzi%a==0)
if(fenmu%a==0)
{fenzi=fenzi/a;fenmu=fenmu/a;break;}
}
if(fenzi<0)
if(-fenzi>=fenmu)
{
for(a=fenmu;a>=0;a--)
if(fenzi%a==0)
if(fenmu%a==0)
{fenzi=fenzi/a;fenmu=fenmu/a;break;}
for(a=-fenzi;a>=0;a--)
if(fenzi%a==0)
if(fenmu%a==0)
{fenzi=fenzi/a;fenmu=fenmu/a;break;}
}
}
int main()
{
fraction x(10,6);
x.display();
x.setfraction (10,6);
x.display();
}