Объектно-ориентированное программирование на C++. Андрианова А.А - 127 стр.

UptoLike

Объектно-ориентированное программирование на С++
вещественному числу и сравнивают полученные значения. Объект,
вызвавший метод, сравнивается с объектом, переданным в качестве
параметра, при этом обращение к нему осуществляется через указатель
this.
// операции сравнения двух дробей
bool Fraction::operator ==(Fraction a)
{
if (sign != a.sign || intPart != a.intPart ||
numerator * a.denominator !=
denominator * a.numerator)
return false;
return true;
}
bool Fraction::operator !=(Fraction a)
{
if (sign == a.sign && intPart == a.intPart &&
numerator * a.denominator ==
denominator * a.numerator)
return false;
return true;
}
bool Fraction::operator > (Fraction a)
{
if (double(*this) <= double(a))
return false;
return true;
}
bool Fraction::operator < (Fraction a)
{
if (double(*this) >= double(a))
return false;
return true;
}
bool Fraction::operator >= (Fraction a)
{
if (double(*this) < double(a))
return false;
return true;
}
bool Fraction::operator <= (Fraction a)
{
127
                          Объектно-ориентированное программирование на С++
вещественному числу и сравнивают полученные значения. Объект,
вызвавший метод, сравнивается с объектом, переданным в качестве
параметра, при этом обращение к нему осуществляется через указатель
this.

    // операции сравнения двух дробей
    bool Fraction::operator ==(Fraction a)
    {
         if (sign != a.sign || intPart != a.intPart ||
              numerator * a.denominator !=
                             denominator * a.numerator)
                   return false;
         return true;
    }

    bool Fraction::operator !=(Fraction a)
    {
         if (sign == a.sign && intPart == a.intPart &&
              numerator * a.denominator ==
                             denominator * a.numerator)
                   return false;
         return true;
    }

    bool Fraction::operator > (Fraction a)
    {
         if (double(*this) <= double(a))
              return false;
         return true;
    }

    bool Fraction::operator < (Fraction a)
    {
         if (double(*this) >= double(a))
              return false;
         return true;
    }

    bool Fraction::operator >= (Fraction a)
    {
         if (double(*this) < double(a))
              return false;
         return true;
    }

    bool Fraction::operator <= (Fraction a)
    {
                                                                      127