#include <iostream.h>
class rational
{
public:
rational(): num(0), denom(1) { }
rational(long n, long d = 1): num(n), denom(d) { }
rational &operator+ = (rational r);
rational &operator-=(rational r);
rational &operator*= (rational r);
rational &operator/=(rational r);
rational operator+();
rational operator-();
double to_double() {return (double)num/denom; }
friend ostream &operator<<(ostream &os,rational r);
private:
long num, denom;
void simplify();
};
inline rational rational::operator+0 { return *this; }
inline rational operator+(rational r1, rational r2)
{
return r1 + = r2;
}
inline rational operator-(rational r1, rational r2)
}
return r1 -= r2;
}
inline rational operator*(rational r1, rational r2)
{
return r1 *= r2;
}
inline rational operator/(rational r1, rational r2)
{
return r1 /= r2;
}
inline rational operator+ +(rational &r)
{
return r + = 1;
}
inline rational operator--(rational &r)
{
return r -= 1;
}
rational operator+ +(rational &r, int);
rational operator--(rational &r, int);
istream &operator> >(istream &is, rational &r);
/* End of File */