ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
В функции main() приведены различные способы создания
объектов класса Fraction с помощью конструкторов.
void main(void)
{
Fraction d1(2, 3, 0, 1); // создание дроби 2/3
Fraction d2(4, 5, 2, -1); // создание дроби -2 4/5
Fraction d3(4, 3, 1, 1); // создание дроби 2 1/3
Fraction d4(10, 6); // создание дроби 1 2/3
Fraction d5(3, 7); // создание дроби 3/7
Fraction d6(3, 8, 2); // создание дроби 2 3/8
Fraction d7; // создание рационального числа 0
. . .
}
3.1.3. Перегрузка операций для класса «Рациональное
число»
Для стандартного использования арифметических операций и
операций сравнения перегрузим соответствующие операторы.
Поскольку любая дробь является вещественным числом,
переопределим оператор явного преобразования объекта класса
Fraction к вещественному типу данных double:
// операция преобразования дроби в тип double
Fraction::operator double()
{
double res = (double)sign *
(intPart * denominator + numerator) /
denominator;
return res;
}
Данное преобразование удобно будет использовать при сравнении
дробей.
Перегрузку операций сравнения двух дробей (больше, больше или
равно, меньше, меньше или равно, равно, не равно) удобно осуществлять
с помощью методов класса Fraction. Эти операторы должны
возвращать значение типа bool, показывающее, истинно ли указанное
сравнение. Операторы "==" и "!=" осуществляют поэлементное
сравнение двух дробей, которые представлены в смешанной форме.
Остальные операторы сравнения используют преобразование дробей к
126
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
В функции main() приведены различные способы создания
объектов класса Fraction с помощью конструкторов.
void main(void)
{
Fraction d1(2, 3, 0, 1); // создание дроби 2/3
Fraction d2(4, 5, 2, -1); // создание дроби -2 4/5
Fraction d3(4, 3, 1, 1); // создание дроби 2 1/3
Fraction d4(10, 6); // создание дроби 1 2/3
Fraction d5(3, 7); // создание дроби 3/7
Fraction d6(3, 8, 2); // создание дроби 2 3/8
Fraction d7; // создание рационального числа 0
. . .
}
3.1.3. Перегрузка операций для класса «Рациональное
число»
Для стандартного использования арифметических операций и
операций сравнения перегрузим соответствующие операторы.
Поскольку любая дробь является вещественным числом,
переопределим оператор явного преобразования объекта класса
Fraction к вещественному типу данных double:
// операция преобразования дроби в тип double
Fraction::operator double()
{
double res = (double)sign *
(intPart * denominator + numerator) /
denominator;
return res;
}
Данное преобразование удобно будет использовать при сравнении
дробей.
Перегрузку операций сравнения двух дробей (больше, больше или
равно, меньше, меньше или равно, равно, не равно) удобно осуществлять
с помощью методов класса Fraction. Эти операторы должны
возвращать значение типа bool, показывающее, истинно ли указанное
сравнение. Операторы "==" и "!=" осуществляют поэлементное
сравнение двух дробей, которые представлены в смешанной форме.
Остальные операторы сравнения используют преобразование дробей к
126
Страницы
- « первая
- ‹ предыдущая
- …
- 124
- 125
- 126
- 127
- 128
- …
- следующая ›
- последняя »
