Академический Документы
Профессиональный Документы
Культура Документы
Operator Overloading
Класс Fraction
Практика:
-перегрузить –
-перегрузить *
-перегрузить /
Разгадка «колдовства»
Fraction result = a + b;
Перегрузить <и>
Перегрузить <= и >=
Перегрузить == и !=
Перегрузка унарных операций
Практика:
-Перегрузить –, *, /
-Перегрузить операции сравнения
-Перегрузить унарный –
Выбор способа перегрузки
Какой из двух вариантов оформления
перегрузки все же предпочтителен – в виде
функции или в виде метода? С одной стороны,
существуют операции (=, [], (), ->, new/new[],
delete/delete[], преобразование типов),
которые можно перегрузить только как методы
класса, а с другой стороны, подход должен
быть таким: если операция в своей работе
просто создаёт и возвращает новое значение
или объект, то её желательно вынести из
класса.
Практика
.
::
?:
sizeof
Ограничения перегрузки
Fraction + int
int + Fraction
Fraction += int
Fraction == double