// Класс для хранения трехмерных координат, class ThreeD {

int х, у, z; // трехмерные координаты

{

ThreeD result = new ThreeD () ;

/* Сложить координаты двух точек и возвратить результат. */ result.х    =    opl.x    +    ор2.х;

result.у    =    opl.у    +    ор2.у;

result.z    =    opl.z    +    op2.z;

return result;

}

// Перегрузить бинарный оператор + для сложения // объекта типа ThreeD и целого значения типа int. public static ThreeD operator +(ThreeD opl, int op2)

{

ThreeD result = new ThreeD();

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();

с = a + b; // сложить объекты класса ThreeD Console.Write('Результат сложения a + b: ');

c.Show();

Console.WriteLine();

Console.Write('Результат сложения b + 10: '); с.Show();

}

}

При Быполнении этого кода получается следующий результат.

Координаты точки а: 1, 2, 3

Координаты точки Ь: 10, 10, 10 Результат сложения а+Ь: 11, 12, 13

Результат сложения b + 10: 20, 20, 20

Как подтверждает приведенный выше результат, когда оператор + применяется к двум объектам класса ThreeD, то складываются их координаты. А когда он применяется к объекту типа ThreeD и целому значению, то координаты этого объекта увеличиваются на заданное целое значение.

Продемонстрированная выше перегрузка оператора +, безусловно, расширяет полезные функции класса ThreeD, тем не менее, она делает это не до конца. И вот почему. Метод operator + (ThreeD, int) позволяет выполнять операции, подобные следующей.

оЫ = оЬ2 + 10;

Но, к сожалению, он не позволяет выполнять операции, аналогичные следующей.

оЫ = 10 + оЬ2;

Дело в том, что второй целочисленный аргумент данного метода обозначает правый операнд

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ОБРАНЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату