classes/frac2.hpp

The following code example is taken from the book
Object-Oriented Programming in C++
by Nicolai M. Josuttis, Wiley, 2002
© Copyright Nicolai M. Josuttis 2002


#ifndef FRACTION_HPP
#define FRACTION_HPP

// **** BEGIN namespace CPPBook ********************************
namespace CPPBook {

/* fraction class
 */
class Fraction {
  /* private: no access from outside
   */
  private:
    int numer;
    int denom;

  /* public interface
   */
  public:
    // default constructor
    Fraction();

    // constructor from int (denominator)
    Fraction(int);

    // constructor from two ints (numerator and denominator)
    Fraction(int, int);

    // output
    void print();

    // new: multiplication with other fraction
    Fraction operator * (Fraction);

    // new: multiplicative assignment
    Fraction operator *= (Fraction);

    // new: comparison with different fraction
    bool operator < (Fraction);
};

// **** END namespace CPPBook ********************************

#endif    // FRACTION_HPP