| и || (Пример из книги) - C#
Формулировка задачи:
Отрывок программы, где идет перегрузка оператора |. Истина - если хотя бы одна из координат !=0. А Ложь, если все все =0.
Не понятно, почему оператор ИЛИ так же не используется в укороченном варианте. Ведь по второй скобке не содержится никаких исключительных ситуаций (типа деления на 0 и т.д.). А программа могла бы работать быстрей, если бы первый операнд (1-я скобка),например, была бы True. В этом случае 2й операнд уже не вычисляется. Но в данном случае просчитываться будут обе. Почему так сделано? Просто так решил автор? Или я чего-то не вижу?Спасибо.
class ThreeD { int x, y, z; // Координаты public ThreeD() { x = y = z = 0; } public ThreeD(int i, int j, int k) { x = i; y = j; z = k; } // Перегрузка |. public static bool operator |(ThreeD op1, ThreeD op2) { if (((op1.x != 0) || (op1.y != 0) || (op1.z != 0)) | // <--------------- см. сюда. ((op2.x != 0) || (op2.y != 0) || (op2.z != 0))) return true; else return false; } ....
Решение задачи: «| и || (Пример из книги)»
textual
Листинг программы
((op1.x != 0) || (op1.y != 0) || (op1.z != 0))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д