Listing 1 Partial details of a class for rational numbers (fractions)

class rational
   {
public:
   rational(long n = 0, long d = 1)
      : num(n), denom(d) {}
   rational &operator+=(rational r);
   friend rational operator+(rational r1, rational r2);
   // ...
private:
   long num, denom;
   // ...
   };
   
// ...

rational operator+(rational r1, rational r2)
   {
      rational r;
   r.num = r1.num * r2.denom + r2.num * r1.denom;
   r.denom = r1.denom * r2.denom;
   return r;
   }

// End of File