home *** CD-ROM | disk | FTP | other *** search
-
- Listing 5
-
- //
- // 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);
- rational &operator-=(rational);
- rational &operator*=(rational);
- rational &operator/=(rational);
- 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;
- }
-
-