Step 2 (S-11054)
Step on Stepik: https://stepik.org/lesson/558/step/2
[00:00 - 00:15] здравствуйте добро пожаловать на 5 неделю курс лекций по с + + на неделе мы обсудили перегрузка операторов статические методы и функции а также некоторые другие возможности
[00:15 - 00:33] начнем с 90 перегрузка операторов позволяют определять поведение встроенных операторов для объектов пользовательских классов например можно определить класс реализующий целое число при довольно длинным таким образом что для него будет работает стройно операторы
[00:33 - 00:49] и арифметические выражения использованием данных чисел можно будет записывать таким же образом как это делается для встроенных числовых типов для того чтобы разобраться как и зачем принижать оператора давайте разберемся с тем какие операторы есть все + +
[00:49 - 01:05] начнем с самых простых естественных операторов арифметических ребятишки 5 можно разбить на 2 группы это унарный оператор и бинарный унарный оператор принимает 1 аргумент бинарные 2
[01:05 - 01:22] унарный оператор с очередь можно разбить на префиксный постфиксная оператора те которые оказываются перед переменной а пусть есть некоторые переменные целого типа
[01:22 - 01:40] int а равно 10 префиксный операторы это например если я напишу а равняется - а то правой части данного выражения применимо к переменной а префиксной
[01:40 - 01:55] унарный оператор аналогично себе тут присутствует симметричный оператор + редко когда нужен добавлен в основном для красоты
[01:55 - 02:11] кроме этого существуют префиксные оператора инкремента декремента а также после снайпера эти операторы позволяют увеличивать уменьшать значения переменных
[02:11 - 02:30] пойдет как по разному я же про это рассказывал давайте вспомним если я буду другую переменную и напишу их б равняется + + а то в данном случае сначала предает
[02:30 - 02:45] инкремент переменной а после значение этой переменной после ремонта будет присвоено перемены таким образом будет проанализирована значением - 9
[02:45 - 03:01] а сначала было 10 после этого стало - 10 если прибавить 1 17 post я с ним будут работать немножко по другому если я после этого присвоен б значение а после
[03:01 - 03:20] то что произойдет мы сначала вернем значение этого выражения а после изменить значения переменной а то есть б будет присвоена старое значение переменной снова
[03:20 - 03:38] будет присвоено значение - 9 в то время как а сменит значение на - 8 префиксный например отличается от пластикового тем что префиксные сначала изменять значения переменной
[03:38 - 03:57] скачать ее значения а post делает наоборот сначала возвращает значение а потом имеет перемен бинарные операторы арифметические достаточно естественно это + - умножить поделить и взятие остатка по модулю
[03:57 - 04:14] и для каждого есть еще сокращенную версию например а + равняется 10 будет означать а равняется + 10 ну и соответственно например а
[04:14 - 04:33] процент равно 10 будет означать взятие остатка по модулю 10 а равняется а может есть другая категория операторов это битва оператора этот оператор определенных для
[04:33 - 04:50] целых чисел которые работают с ними как с битыми строками есть только 1 унарный оператор это отрицание если число бинарным представлении выглядит как то
[04:50 - 05:05] так то после применения к нему ударного префиксного оператор отрицание мы получим число в котором все единички времена нолики нолики на 9
[05:05 - 05:20] кроме этого есть операций бинарного и или исключающего или то что называется обзор и их сокращенной версии аналогично
[05:20 - 05:37] сокращенной версии для арифметическим кроме то есть 2 оператора сдвига с деклеор ну например если это число сдвинуть вправо на 2 то мы получим число соответственно 0
[05:37 - 05:54] 0 1 0 1 0 то есть 2 разряда которые были справа они уедут в никуда ну и наоборот если мы день влево то новый перешли в разряд и заполните нулями не будем подробно этом останавливаться
[05:54 - 06:13] пробитой операциям почти не говорили обычно использовании битовых операций нужно когда идет какой то низком уровне в программировании когда мы пишем программу на более высоком уровне мы всегда можем избежать использования битовых операций изумительно какие то более естественное и боль информативны
[06:13 - 06:28] методы или типа данных а значит еще 1 класс операторов это логический оператор оператор которые применяются к значениям типа есть
[06:28 - 06:43] нарное оператор оператор отрицанием например если у нас есть переменным пул ц равняется то не ц
[06:43 - 06:59] это фолс есть оператора бинарного и или читай то логическое и логическое или они отличаются от операторов
[06:59 - 07:15] битовых потому что предназначенный для логического типа аннинька соответственно а почему здесь нет исключающего или спросите вы а я на это отвечает что изучает силе
[07:15 - 07:35] можно задать при помощи операции не равно то есть если икс и игрек это значение логического типа то икс игрек действительности эквивалентно икс не равно игрек
[07:35 - 07:49] для значение тип bool эти 2 для записи но нету как такового логического в секунду поэтому местные можно использовать партнеров
[07:49 - 08:07] последний тип операторов который я записал в группу логические операторы который возвращает значение логическую это оператор сравнений сравнение на равенство сравнения на неравенство больше меньше больше равно меньше все эти операторы могут принимать значения разных типов а
[08:07 - 08:14] но при этом всегда возвращают в качестве своего результата значение логического типа