Перегрузка укороченных логических операторов - C#
Формулировка задачи:
Еще один вопрос о перегрузке... Насколько я понял, напрямую перегружать || и && нельзя. Но, как пишет Шилдт, есть выход. Вот 4 необходимых условий для этого:
- В классе должна быть произведена перегрузка логических операторов & и |.
- Перегружаемые методы операторов & и | должны возвращать значение того же типа, что и у класса, для которого эти операторы перегружаются. (
поясню: тут будут возвращены объекты, соответствующие True или False
) - Каждый параметр должен содержать ссылку на объект того класса, для которого перегружается логический оператор.
- Для класса должны быть перегружены операторы true и false.
Ошибка 1 При использовании определенного пользователем логического оператора ("ThreeD.operator
&
(ThreeD, ThreeD)") как отладочного тип значения, возвращаемого этим оператором, должен совпадать с типом обоих его параметров. ThreeD - название класса.Решение задачи: «Перегрузка укороченных логических операторов»
textual
Листинг программы
int a = 3; if (false & a++ != 4) ; Console.Write(a);//выдаст 4 if (false && a++ != 4) ; Console.Write(a);//выдаст 4
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д