static void Main() { ThreeD a = new ThreeD(1, 2, 3); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(); int i; Console.Write("Координаты точки a: "); a.Show(); Console.WriteLine(); Console.Write("Координаты точки b: "); b.Show(); Console.WriteLine(); c = a + b; // сложить координаты точек а и b Console.Write("Результат сложения a + b: "); c.Show(); Console.WriteLine(); i = (int)a; // преобразовать в тип int явно, // поскольку указано приведение типов Console.WriteLine("Результат присваивания i=a: " + i); Console.WriteLine(); i = (int)a * 2 - (int)b; // явно требуется приведение типов Console.WriteLine("Результат вычисления выражения a * 2 - b: " + i); }
static void Main() { ThreeD a = new ThreeD(1, 2, 3); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(); Console.Write("Координаты точки a: "); a.Show(); Console.WriteLine(); Console.Write("Координаты точки b: "); b.Show(); Console.WriteLine(); c = a + b; // сложить объекты класса ThreeD Console.Write("Результат сложения a + b: "); c.Show(); Console.WriteLine(); c = b + 10; // сложить объект типа ThreeD и целое значение типа int Console.Write("Результат сложения b + 10: "); c.Show(); Console.WriteLine(); c = 15 + b; // сложить целое значение типа int и объект типа ThreeD Console.Write("Результат сложения 15 + b: "); c.Show(); }
static void Main() { ThreeD a = new ThreeD(1, 2, 3); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(); int i; Console.Write("Координаты точки a: "); a.Show(); Console.WriteLine(); Console.Write("Координаты точки b: "); b.Show(); Console.WriteLine(); c = a + b; // сложить координаты точек а и b Console.Write("Результат сложения a + b: "); c.Show(); Console.WriteLine(); i = a; // преобразовать в тип int Console.WriteLine("Результат присваивания i=a: " + i); Console.WriteLine(); i = a * 2 - b; // преобразовать в тип int Console.WriteLine("Результат вычисления выражения a * 2 - b: " + i); }
// Перегрузить бинарный оператор +. public static ThreeD operator +(ThreeD op1, ThreeD op2) { ThreeD result = new ThreeD(); result.x = op1.x + op2.x; result.y = op1.y + op2.y; result.z = op1.z + op2.z; return(result); }
// Перегрузить унарный оператор -. public static ThreeD operator -(ThreeD op) { ThreeD result = new ThreeD(); result.x = -op.x; result.y = -op.y; result.z = -op.z; return(result); }
// Перегрузить унарный оператор ++. public static ThreeD operator ++(ThreeD op) { ThreeD result = new ThreeD(); // Возвратить результат инкрементирования. result.x = op.x + 1; result.y = op.y + 1; result.z = op.z + 1; return(result); }
// Определить метод увеличения на два каждого // последующего значения координат объекта типа ThreeD. static ThreeD ThreeDPlusTwo(ThreeD v) { if (v == null) { return(new ThreeD(0, 0, 0)); } else { return(new ThreeD(v.x + 2, v.y + 2, v.z + 2)); } }
// Перегрузить унарный оператор --. public static ThreeD operator --(ThreeD op) { ThreeD result = new ThreeD(); // Возвратить результат декрементирования. result.x = op.x - 1; result.y = op.y - 1; result.z = op.z - 1; return(result); }
// Перегрузить бинарный оператор + для сложения объектов класса ThreeD. public static ThreeD operator +(ThreeD op1, ThreeD op2) { ThreeD result = new ThreeD(); /* Сложить координаты двух точек и возвратить результат. */ result.x = op1.x + op2.x; result.y = op1.y + op2.y; result.z = op1.z + op2.z; return(result); }
static void Main() { ThreeD a = new ThreeD(5, 6, 7); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(0, 0, 0); Console.Write("Координаты точки a: "); a.Show(); Console.Write("Координаты точки b: "); b.Show(); Console.Write("Координаты точки с: "); c.Show(); Console.WriteLine(); if (a) { Console.WriteLine("Точка а истинна."); } else { Console.WriteLine("Точка а ложна."); } if (b) { Console.WriteLine("Точка b истинна."); } else { Console.WriteLine("Точка b ложна."); } if (c) { Console.WriteLine("Точка с истинна."); } else { Console.WriteLine("Точка с ложна."); } Console.WriteLine(); Console.WriteLine("Управление циклом с помощью объекта класса ThreeD."); do { b.Show(); b--; }while (b); }
static void Main() { ThreeD a = new ThreeD(5, 6, 7); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(1, 2, 3); ThreeD d = new ThreeD(6, 7, 5); Console.Write("Координаты точки a: "); a.Show(); Console.Write("Координаты точки b: "); b.Show(); Console.Write("Координаты точки с: "); c.Show(); Console.Write("Координаты точки d: "); d.Show(); Console.WriteLine(); if (a > c) { Console.WriteLine("а > с истинно"); } if (a < c) { Console.WriteLine("а < с истинно"); } if (a > b) { Console.WriteLine("а > b истинно"); } if (a < b) { Console.WriteLine("а < b истинно"); } if (a > d) { Console.WriteLine("а > d истинно"); } else if (a < d) { Console.WriteLine("a < d истинно"); } else { Console.WriteLine("Точки a и d находятся на одном расстоянии " + "от начала отсчета"); } }
static void Main() { ThreeD a = new ca2.ThreeD(1, 2, 3); ThreeD b = new ThreeD(10, 10, 10); ThreeD c; Console.Write("Координаты точки a: "); a.Show(); Console.WriteLine(); Console.Write("Координаты точки b: "); b.Show(); Console.WriteLine(); c = a + b; // сложить координаты точек а и b Console.Write("Результат сложения а + b: "); c.Show(); Console.WriteLine(); c = a + b + c; // сложить координаты точек а, b и с Console.Write("Результат сложения а + b + с: "); c.Show(); Console.WriteLine(); c = c - a; // вычесть координаты точки а Console.Write("Результат вычитания с - а: "); c.Show(); Console.WriteLine(); c = c - b; // вычесть координаты точки b Console.Write("Результат вычитания с - b: "); c.Show(); Console.WriteLine(); c = -a; // присвоить точке с отрицательные координаты точки а Console.Write("Результат присваивания -а: "); c.Show(); Console.WriteLine(); c = a++; // присвоить точке с координаты точки а, // а затем инкрементировать их Console.WriteLine("Если с = а++"); Console.Write("то координаты точки с равны "); c.Show(); Console.Write("а координаты точки а равны "); a.Show(); // Установить исходные координаты (1,2,3) точки а a = new ThreeD(1, 2, 3); Console.Write("\nУстановка исходных координат точки а: "); a.Show(); c = ++a; // инкрементировать координаты точки а, // а затем присвоить их точке с Console.WriteLine("\nЕсли с = ++а"); Console.Write("то координаты точки с равны "); c.Show(); Console.Write("а координаты точки а равны "); a.Show(); }
static void Main() { ThreeD a = new ThreeD(5, 6, 7); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(0, 0, 0); Console.Write("Координаты точки a: "); a.Show(); Console.Write("Координаты точки b: "); b.Show(); Console.Write("Координаты точки с: "); c.Show(); Console.WriteLine(); if (a) { Console.WriteLine("Точка а истинна."); } if (b) { Console.WriteLine("Точка b истинна."); } if (c) { Console.WriteLine("Точка с истинна."); } if (!a) { Console.WriteLine("Точка а ложна."); } if (!b) { Console.WriteLine("Точка b ложна."); } if (!c) { Console.WriteLine("Точка с ложна."); } Console.WriteLine(); Console.WriteLine("Применение логических операторов & и |"); if (a & b) { Console.WriteLine("а & b истинно."); } else { Console.WriteLine("а & b ложно."); } if (a & c) { Console.WriteLine("а & с истинно."); } else { Console.WriteLine("а & с ложно."); } if (a | b) { Console.WriteLine("a | b истинно."); } else { Console.WriteLine("а | b ложно."); } if (a | c) { Console.WriteLine("а | с истинно."); } else { Console.WriteLine("а | с ложно."); } Console.WriteLine(); // А теперь применить укороченные логические операторы. Console.WriteLine("Применение укороченных" + "логических операторов && и ||"); if (a && b) { Console.WriteLine("a && b истинно."); } else { Console.WriteLine("а && b ложно."); } if (a && c) { Console.WriteLine("а && с истинно."); } else { Console.WriteLine("a && с ложно."); } if (a || b) { Console.WriteLine("a || b истинно."); } else { Console.WriteLine("a || b ложно."); } if (a || c) { Console.WriteLine("a || с истинно."); } else { Console.WriteLine("a || с ложно."); } }
static void Main() { ThreeD a = new ThreeD(5, 6, 7); ThreeD b = new ThreeD(10, 10, 10); ThreeD c = new ThreeD(0, 0, 0); Console.Write("Координаты точки a: "); a.Show(); Console.Write("Координаты точки b: "); b.Show(); Console.Write("Координаты точки с: "); c.Show(); Console.WriteLine(); if (!a) { Console.WriteLine("Точка а ложна."); } if (!b) { Console.WriteLine("Точка b ложна."); } if (!c) { Console.WriteLine("Точка с ложна."); } Console.WriteLine(); if (a & b) { Console.WriteLine("a & b истинно."); } else { Console.WriteLine("a & b ложно."); } if (a & c) { Console.WriteLine("a & с истинно."); } else { Console.WriteLine("a & с ложно."); } if (a | b) { Console.WriteLine("a | b истинно."); } else { Console.WriteLine("a | b ложно."); } if (a | c) { Console.WriteLine("a | с истинно."); } else { Console.WriteLine("a | с ложно."); } }