Difference between revisions of "Step 9 (S-11061)"
(Create page for step id=11061) |
|||
Line 1: | Line 1: | ||
Step on Stepik: https://stepik.org/lesson/558/step/9 | Step on Stepik: https://stepik.org/lesson/558/step/9 | ||
− | + | [[File:Step_9_(S-11061)_1.png|border|800px]] | |
[00:00 - 00:17] для определения оператор приведения к типу тоже используется специальный синтаксис напомним что данный оператор используется в тех случаях когда мы хотим задать привидение от типа а б и применять его стоит в тех случаях когда на этот тебя мы не можем не копать | [00:00 - 00:17] для определения оператор приведения к типу тоже используется специальный синтаксис напомним что данный оператор используется в тех случаях когда мы хотим задать привидение от типа а б и применять его стоит в тех случаях когда на этот тебя мы не можем не копать | ||
− | + | [[File:Step_9_(S-11061)_2.png|border|800px]] | |
[00:17 - 00:36] если бы мы могли повлиять на тебя то внутри тип б можно было бы определить конструктор от значения типа а если же этот тип б библиотечным например или некоторых встроенным чипом то тогда для приведения к этому типу можно определить оператора прилетели | [00:17 - 00:36] если бы мы могли повлиять на тебя то внутри тип б можно было бы определить конструктор от значения типа а если же этот тип б библиотечным например или некоторых встроенным чипом то тогда для приведения к этому типу можно определить оператора прилетели | ||
− | + | [[File:Step_9_(S-11061)_3.png|border|800px]] | |
[00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен | [00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен | ||
Line 25: | Line 25: | ||
− | + | [[File:Step_9_(S-11061)_4.png|border|800px]] | |
− | + | [[File:Step_9_(S-11061)_5.png|border|800px]] | |
[01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения | [01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения | ||
− | + | [[File:Step_9_(S-11061)_6.png|border|800px]] | |
[01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся | [01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся | ||
− | + | [[File:Step_9_(S-11061)_7.png|border|800px]] | |
− | + | [[File:Step_9_(S-11061)_8.png|border|800px]] | |
[02:12 - 02:31] а если строка пуста мы вернем ветеран соответствующий пустой строки ну потому что в противном случае мы бы вернули нулевой указатель и дальше кто то снаружи ему будет поэтому другом указатель обратиться это привело бы к плачевным последствиям | [02:12 - 02:31] а если строка пуста мы вернем ветеран соответствующий пустой строки ну потому что в противном случае мы бы вернули нулевой указатель и дальше кто то снаружи ему будет поэтому другом указатель обратиться это привело бы к плачевным последствиям | ||
− | + | [[File:Step_9_(S-11061)_9.png|border|800px]] | |
− | + | [[File:Step_9_(S-11061)_10.png|border|800px]] | |
[02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании | [02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании | ||
− | + | [[File:Step_9_(S-11061)_11.png|border|800px]] | |
[02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг | [02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг | ||
− | + | [[File:Step_9_(S-11061)_12.png|border|800px]] | |
[03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit | [03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit | ||
− | + | [[File:Step_9_(S-11061)_13.png|border|800px]] | |
[03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо | [03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо | ||
− | + | [[File:Step_9_(S-11061)_14.png|border|800px]] | |
[[Category:Steps]] | [[Category:Steps]] | ||
[[Category:Перегрузка операторов (L-558)| 9]] | [[Category:Перегрузка операторов (L-558)| 9]] |
Latest revision as of 12:56, 7 August 2017
Step on Stepik: https://stepik.org/lesson/558/step/9
[00:00 - 00:17] для определения оператор приведения к типу тоже используется специальный синтаксис напомним что данный оператор используется в тех случаях когда мы хотим задать привидение от типа а б и применять его стоит в тех случаях когда на этот тебя мы не можем не копать
[00:17 - 00:36] если бы мы могли повлиять на тебя то внутри тип б можно было бы определить конструктор от значения типа а если же этот тип б библиотечным например или некоторых встроенным чипом то тогда для приведения к этому типу можно определить оператора прилетели
[00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен
[00:54 - 01:09] перегружаться именно как метод давайте посмотрим например пусть есть класс стринг и мы хотим научиться переводить объекты типа стренг к значением типа тогда мы определим
[01:09 - 01:25] оператор будет называться оператор буд то есть вот возвращаемое значение тот тип котором привыкнуть он уже есть в названии метода этому его не нужно указывать как формально возвращаемое значение соответствующими но и
[01:25 - 01:40] при реализации данных это был просто проверять что строка не просто так они просто не равен 0 то значит вернем true если строка пуста было 30 фолс как можно такой метод используют давайте
[01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения
[01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся
[02:12 - 02:31] а если строка пуста мы вернем ветеран соответствующий пустой строки ну потому что в противном случае мы бы вернули нулевой указатель и дальше кто то снаружи ему будет поэтому другом указатель обратиться это привело бы к плачевным последствиям
[02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании
[02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг
[03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit
[03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо