//: C02:Rational.h {-xo}
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
#ifndef RATIONAL_H
#define RATIONAL_H
#include <iosfwd>

class Zlomek {
public:
  Zlomek(int citatel = 0, int jmenovatel = 1);
  Zlomek operator-() const;
  friend Zlomek operator+(const Zlomek&,
                            const Zlomek&);
  friend Zlomek operator-(const Zlomek&,
                            const Zlomek&);
  friend Zlomek operator*(const Zlomek&,
                            const Zlomek&);
  friend Zlomek operator/(const Zlomek&,
                            const Zlomek&);
  friend std::ostream&
  operator<<(std::ostream&, const Zlomek&);
  friend std::istream&
  operator>>(std::istream&, Zlomek&);
  Zlomek& operator+=(const Zlomek&);
  Zlomek& operator-=(const Zlomek&);
  Zlomek& operator*=(const Zlomek&);
  Zlomek& operator/=(const Zlomek&);
  friend bool operator<(const Zlomek&,
                        const Zlomek&);
  friend bool operator>(const Zlomek&,
                        const Zlomek&);
  friend bool operator<=(const Zlomek&,
                         const Zlomek&);
  friend bool operator>=(const Zlomek&,
                         const Zlomek&);
  friend bool operator==(const Zlomek&,
                         const Zlomek&);
  friend bool operator!=(const Zlomek&,
                         const Zlomek&);
};
#endif // RATIONAL_H ///:~
