C++习题:定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:04:45
class rational

{private:

long denom,den;

//denom为分子,den为分母

public:

rational(int num=0, int en=1);

int operator<(rational r) const;

int operator<=(rational r) const;

int operator= =(rational r) const;

int operator!=(rational r) const;

//这里增加赋值和读出函数

}

#include<iostream>
using namespace std;
class Rational{
public:
Rational(int num=0,int denom=1);
int operator<(Rational r) const;
int operator<=(Rational r) const;
int operator==(Rational r) const;
int operator!=(Rational r) const;
private:
long num,den;
};
Rational::Rational(int num,int denom){
num=num;
den=denom;
}
int Rational::operator <(Rational r) const
{if(r.num*den<num*r.den)
cout<<"A<B"<<endl;
return 0;}
int Rational::operator <=(Rational r) const
{ if(r.num*den<=num*r.den)
cout<<"A<=B"<<endl;
return 0;}
int Rational::operator !=(Rational r) const
{if(r.num*den!=num*r.den)
cout<<"A!=B"<<endl;
return 0;}
int Rational::operator ==(Rational r) const
{if(r.num*den==num*r.den)
cout<<"A==B"<<endl;<