#pragma once #include namespace FractionNS { class Fraction { private: int m_numerator, m_denominator; void reduce(); public: Fraction(int, int); Fraction(int); Fraction(double); Fraction(float); Fraction(const Fraction&); int getNumerator() const; int getDenominator() const; void setNumerator(const int); void setDenominator(const int); QString display() const; bool operator==(const int) const; bool operator==(const float) const; bool operator==(const double) const; bool operator==(const Fraction&) const; bool operator!=(const int) const; bool operator!=(const float) const; bool operator!=(const double) const; bool operator!=(const Fraction&) const; Fraction& operator+(const int) const; Fraction& operator+(const Fraction&) const; Fraction& operator+=(const int); Fraction& operator+=(const Fraction&); Fraction& operator-(const int) const; Fraction& operator-(const Fraction&) const; Fraction& operator-=(const int); Fraction& operator-=(const Fraction&); Fraction& operator*(const int) const; Fraction& operator*(const Fraction&) const; Fraction& operator*=(const int); Fraction& operator*=(const Fraction&); Fraction& operator/(const int) const; Fraction& operator/(const Fraction&) const; Fraction& operator/=(const int); Fraction& operator/=(const Fraction&); }; }