public static ThreeD operator -(ThreeD opl, ThreeD op2)
{
ThreeD result = new ThreeD();
/* Обратить внимание на порядок следования операндов: opl — левый операнд, ор2 — правый операнд. */ result.х = opl.x - ор2.х; result.у = opl.у - ор2.у; result.z = opl.z - op2.z;
return result;
}
// Перегрузить унарный оператор -. public static ThreeD operator -(ThreeD op)
{
ThreeD result = new ThreeD();
result.x = -op.x; result, у-= -op.y; result.z = -op.z;
return result;
}
// Перегрузить унарный оператор ++. public static ThreeD operator ++(ThreeD op)
{
ThreeD result = new ThreeD();
// Возвратить результат инкрементирования, result.x = op.x + 1; result.у = op.y + 1; result.z = op.z + 1;
return result;
}
// Вывести координаты X, Y, Z. public void Show()
{
Console.WriteLine(x + ', ' + у + ', ' + z);
}
}
class ThreeDDemo { static void Main() {
ThreeD a = new ThreeD(1, 2, 3);
ThreeD b = new ThreeD(10, 10, 10);
ThreeD с = new ThreeD();
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();
c=a+b+c; // сложить координаты точек a, b и с Console.Write('Результат сложения a + b + с: ');
с.Show();
Console.WriteLine();
с = с - а; // вычесть координаты точки а Console.Write('Результат вычитания с - а: ') ; с.Show ();
Console.WriteLine();
с = с - b; // вычесть координаты точки b Console.Write('Результат вычитания с - Ь: ') ; с.Show ();
Console.WriteLine();
с = -а; // присвоить точке с отрицательные координаты точки Console.Write('Результат присваивания -а: '); с.Show();
Console.WriteLine();
