Step 4 (S-11057)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/558/step/4

Step 4 (S-11057) 1.png

[00:00 - 00:15] теперь давайте посмотрим как синтаксически можно перегружать операторы начнем с простого примера пусть есть некоторый класс вектор который задает вектор на плоскость на плоскости создается 2 координатами поэтому объектов данного класса будут во поле икс игрек


[00:15 - 00:31] крыса дают соответственно но есть и для такого класса мы переопределяем я старик ведических операторов начни с простого это будет в норме оператор оператор 0 и - это оператор


[00:31 - 00:46] - который принимает 1 аргумент чтобы реализации данного оператора соответствовало математике мы будем вращать вектор направлен в обратную сторону аналогичным образом можно определить и


[00:46 - 01:04] бинарное сложение оператор + от 2 аргументов аргументов типа вектор в качестве зачем вы значение могу начать вектор с координатами являющимися сумме соответствующий когда ты сходных товаров


[01:04 - 01:20] данная оператор принимает 2 аргумента теплее но в принципе нас никто не заставляет а передавать в бинарной оператор аргумента 1 и того же типа то есть можно определить бинарной оператор вот аргументов разного типа


[01:20 - 01:37] таким образом можно например определить умножения вектора на число для этого давайте определим оператор звездочка аргументами вектор и естественно число тем образом мы зададим оператор умножение вектора на число


[01:37 - 01:55] виктор увеличены тарас аналогично можно определить оператор умножения а то есть мы просто меняем местами типы аргументов и таким образом умножением числа станет


[01:55 - 02:11] коммутативный раз мы сможем менять местами вектор и число в проверять для того чтобы реализовать этом здесь обратимся к определенному выше эктора то есть мы в реализации умножение числа на вектор множим


[02:11 - 02:28] вектора на число таким образом можно переопределять аналогичные ударные и бинарной операторы как арифметически так логические так описывает так и другие то есть важно понять что у нас на оператора то операторов


[02:28 - 02:43] 1 аргумента соответствующим названием бинарный оператор это оператор от 2 аргументов тоже соответствующим названием про то как определять унарный бинарные операторы сохранились в аттике менюшка позже поговорим но


[02:43 - 02:59] синтаксический должно быть понятно то есть если у вас есть бинарный оператора который мы хотим переопределить то мы просто определяем оператора с соответствующим именем а какие типы он будет принимать и какой тип он будет возвращаться это уже остается нам на выбор