ВУЗ:
Составители:
Рубрика:
15
public static bool operator < (Fraction ob1, Fraction ob2)
{
if ((double)ob1 >= (double)ob2)
return false;
return true;
}
public static bool operator >= (Fraction ob1, Fraction ob2)
{
if ((double)ob1 < (double)ob2)
return false;
return true;
}
public static bool operator <= (Fraction ob1, Fraction ob2)
{
if ((double)ob1 > (double)ob2)
return false;
return true;
}
Каждая арифметическая операция (“+”, “–“, “*”, ”/”) перегружена тремя
методами-операторами для случаев, когда:
операндами операции являются объекты класса Fraction;
первый операнд – дробь, второй – целое число;
первый операнд – целое число, второй – объект-дробь.
Результатом выполнения этих операторов является новая дробь.
Рассмотрим подробнее реализацию операторов сложения.
Оператор сложения двух дробей после формирования результата
осуществляет преобразование к смешанному виду.
// операция сложения двух дробей
static public Fraction operator + (Fraction ob1, Fraction ob2)
{
Fraction res=new Fraction();
res.numerator = ob1.sign * (ob1.intPart * ob1.denominator +
ob1.numerator) * ob2.denominator + ob2.sign *(ob2.intPart *
ob2.denominator + ob2.numerator) * ob1.denominator;
res.denominator = ob1.denominator * ob2.denominator;
if (res.numerator < 0)
{
res.numerator *= -1;
res.sign = -1;
}
res.GetMixedView();
return res;
}
public static bool operator < (Fraction ob1, Fraction ob2) { if ((double)ob1 >= (double)ob2) return false; return true; } public static bool operator >= (Fraction ob1, Fraction ob2) { if ((double)ob1 < (double)ob2) return false; return true; } public static bool operator <= (Fraction ob1, Fraction ob2) { if ((double)ob1 > (double)ob2) return false; return true; } Каждая арифметическая операция (“+”, “–“, “*”, ”/”) перегружена тремя методами-операторами для случаев, когда: операндами операции являются объекты класса Fraction; первый операнд – дробь, второй – целое число; первый операнд – целое число, второй – объект-дробь. Результатом выполнения этих операторов является новая дробь. Рассмотрим подробнее реализацию операторов сложения. Оператор сложения двух дробей после формирования результата осуществляет преобразование к смешанному виду. // операция сложения двух дробей static public Fraction operator + (Fraction ob1, Fraction ob2) { Fraction res=new Fraction(); res.numerator = ob1.sign * (ob1.intPart * ob1.denominator + ob1.numerator) * ob2.denominator + ob2.sign *(ob2.intPart * ob2.denominator + ob2.numerator) * ob1.denominator; res.denominator = ob1.denominator * ob2.denominator; if (res.numerator < 0) { res.numerator *= -1; res.sign = -1; } res.GetMixedView(); return res; } 15
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »