Step 9 (S-11061)

From Stepik Wiki
Jump to: navigation, search

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

Step 9 (S-11061) 1.png

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


Step 9 (S-11061) 2.png

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


Step 9 (S-11061) 3.png

[00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен


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


[01:09 - 01:25] оператор будет называться оператор буд то есть вот возвращаемое значение тот тип котором привыкнуть он уже есть в названии метода этому его не нужно указывать как формально возвращаемое значение соответствующими но и


[01:25 - 01:40] при реализации данных это был просто проверять что строка не просто так они просто не равен 0 то значит вернем true если строка пуста было 30 фолс как можно такой метод используют давайте


Step 9 (S-11061) 4.png

Step 9 (S-11061) 5.png

[01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения


Step 9 (S-11061) 6.png

[01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся


Step 9 (S-11061) 7.png

Step 9 (S-11061) 8.png

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


Step 9 (S-11061) 9.png

Step 9 (S-11061) 10.png

[02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании


Step 9 (S-11061) 11.png

[02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг


Step 9 (S-11061) 12.png

[03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit


Step 9 (S-11061) 13.png

[03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо


Step 9 (S-11061) 14.png