home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_10_03 / 1003072b < prev    next >
Text File  |  1992-01-13  |  745b  |  49 lines

  1.  
  2. Listing 5
  3.  
  4. //
  5. // rational.h
  6. //
  7. #include <stdio.h>
  8.  
  9. class rational
  10.     {
  11. public:
  12.     rational() { }
  13.     rational(long n) : num(n), denom(1) { }
  14.     rational(long n, long d) : num(n), denom(d) { }
  15.     rational &operator+=(rational);
  16.     rational &operator-=(rational);
  17.     rational &operator*=(rational);
  18.     rational &operator/=(rational);
  19.     void put(FILE *);
  20. private:
  21.     long num, denom;
  22.     void simplify();
  23.     };
  24.  
  25. inline rational
  26.     operator+(rational r1, rational r2)
  27.     {
  28.     return r1 += r2;
  29.     }
  30.  
  31. inline rational
  32.     operator-(rational r1, rational r2)
  33.     {
  34.     return r1 -= r2;
  35.     }
  36.  
  37. inline rational
  38.     operator*(rational r1, rational r2)
  39.     {
  40.     return r1 *= r2;
  41.     }
  42.  
  43. inline rational
  44.     operator/(rational r1, rational r2)
  45.     {
  46.     return r1 /= r2;
  47.     }
  48.  
  49.