home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_10_05
/
1005086a
< prev
next >
Wrap
Text File
|
1992-03-09
|
1KB
|
52 lines
Listing 1
//
// rational.h
//
#include <stdio.h>
class rational
{
public:
rational() { }
rational(long n) : num(n), denom(1) { }
rational(long n, long d) : num(n), denom(d) { }
rational &operator+=(rational r);
rational &operator-=(rational r);
rational &operator*=(rational r);
rational &operator/=(rational r);
rational operator+() { return *this; }
rational operator-();
rational operator++() { return *this += 1; }
rational operator--() { return *this -= 1; }
rational operator++(int);
rational operator--(int);
void put(FILE *);
private:
long num, denom;
void simplify();
};
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;
}