Difference between revisions of "Step 5 (S-11056)"
(Create page for step id=11056) |
|||
Line 1: | Line 1: | ||
Step on Stepik: https://stepik.org/lesson/558/step/5 | Step on Stepik: https://stepik.org/lesson/558/step/5 | ||
− | + | [[File:Step_5_(S-11056)_1.png|border|800px]] | |
[00:00 - 00:15] для перегрузки операторов на продающем сайте мы использовали внешней функции можно перебирать оператора и при помощи определение методов например для того же класса вектор можно перегрузить оператор - при помощи определения метода | [00:00 - 00:15] для перегрузки операторов на продающем сайте мы использовали внешней функции можно перебирать оператора и при помощи определение методов например для того же класса вектор можно перегрузить оператор - при помощи определения метода | ||
Line 9: | Line 9: | ||
− | + | [[File:Step_5_(S-11056)_2.png|border|800px]] | |
− | + | [[File:Step_5_(S-11056)_3.png|border|800px]] | |
[00:33 - 00:49] при помощи метода нам требуется предмет от 0 аргументов это объясняется тем что у каждого метода есть неявная аргумент который соответствует текущему объекта то есть тому объекту которого данный метод вызывает поэтому для определения ударных | [00:33 - 00:49] при помощи метода нам требуется предмет от 0 аргументов это объясняется тем что у каждого метода есть неявная аргумент который соответствует текущему объекта то есть тому объекту которого данный метод вызывает поэтому для определения ударных | ||
Line 37: | Line 37: | ||
− | + | [[File:Step_5_(S-11056)_4.png|border|800px]] | |
[02:53 - 03:10] например оператор + можем производить без проблем в качестве метод этот метод 1 от 1 аргумента оператор умножить на число вы точно так же можно определить внутри классненькие проблем нет а вот с оператором | [02:53 - 03:10] например оператор + можем производить без проблем в качестве метод этот метод 1 от 1 аргумента оператор умножить на число вы точно так же можно определить внутри классненькие проблем нет а вот с оператором | ||
Line 51: | Line 51: | ||
− | + | [[File:Step_5_(S-11056)_5.png|border|800px]] | |
[04:00 - 04:16] это касается оператор приведения типов это касается операторов квадратные скобочки круглые скобочки 2 операторов стрелочка то стрелочкой стрелочка звездочка и оператора присваивания оператор присвоения мы сами знаем да прибежали его уже много раз | [04:00 - 04:16] это касается оператор приведения типов это касается операторов квадратные скобочки круглые скобочки 2 операторов стрелочка то стрелочкой стрелочка звездочка и оператора присваивания оператор присвоения мы сами знаем да прибежали его уже много раз |
Latest revision as of 12:52, 7 August 2017
Step on Stepik: https://stepik.org/lesson/558/step/5
[00:00 - 00:15] для перегрузки операторов на продающем сайте мы использовали внешней функции можно перебирать оператора и при помощи определение методов например для того же класса вектор можно перегрузить оператор - при помощи определения метода
[00:15 - 00:33] метод будет называться оператор - и принимать но аргумент когда мы определяли унарный оператор - в качестве внешней функции то нам потребовалось определить функции от 1 аргумента 1 аргумент соответствовал тому что данный оператор является у нас когда мы определяем этот же оператор
[00:33 - 00:49] при помощи метода нам требуется предмет от 0 аргументов это объясняется тем что у каждого метода есть неявная аргумент который соответствует текущему объекта то есть тому объекту которого данный метод вызывает поэтому для определения ударных
[00:49 - 01:08] операторов качество метода нам потребуется метода от меня аргументов а для определения бинарных операторов при помощи методов нам потребуется методы от 1 года в качестве 1 дополнительный аргумент всегда будет уступать текущий объект то есть тот объект который соответствует ключевому слову зы соответствует
[01:08 - 01:26] объекту который бы данный метод можно посмотреть как при помощи метода можно определить бинарный оператор - бинарные операторы - будет соответствовать нет от 1 аргумента
[01:26 - 01:44] и в качестве аргумента левого операнда оператор имеет будет текущее то есть при реализации обращаемся к значениях текущего объекта из него вычитается значение
[01:44 - 01:59] аргумента соответствующими если так окажется что какой то оператор перегружен и внутри класса и снаружи класса то есть и как метод и как внешняя функция то привызая такого оператора произойдет ошибка
[01:59 - 02:18] потому что компилятор не сможет понять какой из 2 пиратов надо выспаться или снаружи или тот который предусмотрен для некоторых операторов может показаться что определение в качестве метода более логично например для тех операторов которых предполагает изменение левого аргумент
[02:18 - 02:36] например это оператор множить равно ты сокращен арифметически оператор который умножает лего аргумент назначение таким образом мы могли бы этот жир а оператор определит снаружи
[02:36 - 02:53] как оператор множить равно от типов вектор можно почти все операторы которые мы описывали снаружи определить внутри ну давайте посмотрим на предыдущие знать
[02:53 - 03:10] например оператор + можем производить без проблем в качестве метод этот метод 1 от 1 аргумента оператор умножить на число вы точно так же можно определить внутри классненькие проблем нет а вот с оператором
[03:10 - 03:25] число умножить на электр уже есть некоторые проблемы определить его внутри класса не получится почему потому что в качестве 1 аргумента здесь выступает встроенный чип для того чтобы определить данный оператор
[03:25 - 03:44] внутри класса нам потребовался потребовало бы изменения соответствующего типа то есть apple типа double double может является встроенным тик так он еще является не является классом то есть там метод у типа double не определить поэтому такой
[03:44 - 04:00] оператор перегрузить внутри класса не получится некоторые операторы необходимо перегружать внутри корпуса то есть нельзя перегрузить снаружи
[04:00 - 04:16] это касается оператор приведения типов это касается операторов квадратные скобочки круглые скобочки 2 операторов стрелочка то стрелочкой стрелочка звездочка и оператора присваивания оператор присвоения мы сами знаем да прибежали его уже много раз
[04:16 - 04:32] операторами это просто синтаксической требования данную оператора можно перегружать только внутри класса например для перегрузки оператора квадратные скобочки мы можем определить метод
[04:32 - 04:51] оператор квадратные скобки у данного оператора всегда 1 аргумент он не обязательно соответствует целочисленном параметры этот естественно но вы можете продавать хоть свою интерпретацию ночь в данном случае он принимает аргумент
[04:51 - 05:06] целочисленную типа если и равняется 0 то возвращается 1 координаты а если и это не нулевое значение выражается в то какая то реализации которая в некотором смысле соответственно то прощения
[05:06 - 05:21] элементов вектора есть неправоту и ошибки то есть не обрабатывается тот случай когда и равен 2 когда нету соответствующие координаты вектора ну какая то реализации есть так же можно определить
[05:21 - 05:36] оператор круглые скобки как я говорил в отличие от экватора квадратные скобки оператор круглые скобки может принимать произвольное число аргументов например можно 1 образом перегрузить оператор круглые скобки от
[05:36 - 05:53] 1 аргумента типа double а каким то другим способом перегрузить оператор квадратные круглые скобки от 2 аргументов типа да ну как вот этих и других типов таким образом можно добиться того чтобы объекты
[05:53 - 06:10] некоторого класса синтаксический вели себя так же как функции то есть чтобы у этих объектов можно было вызывать оператор кругу скобки если например я напишу переменную типа вектор в то за счет наличия у данного
[06:10 - 06:25] классы круглые скобки от этого параметра я где то могу вызвать в от 3,5 это синтаксический очень похоже то всегда очень похожи совпадает с вызовом функций