Difference between revisions of "Step 9 (S-11061)"

From Stepik Wiki
Jump to: navigation, search
(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
  
<img width="50%" src="https://ucarecdn.com/cfaf6067-3808-4c22-af56-d892f174ca4c/">
+
[[File:Step_9_(S-11061)_1.png|border|800px]]
  
 
[00:00 - 00:17] для определения оператор приведения к типу тоже используется специальный синтаксис напомним что данный оператор используется в тех случаях когда мы хотим задать привидение от типа а б и применять его стоит в тех случаях когда на этот тебя мы не можем не копать
 
[00:00 - 00:17] для определения оператор приведения к типу тоже используется специальный синтаксис напомним что данный оператор используется в тех случаях когда мы хотим задать привидение от типа а б и применять его стоит в тех случаях когда на этот тебя мы не можем не копать
  
  
<img width="50%" src="https://ucarecdn.com/f0d71748-ccf1-46d5-9c8d-7e8fe6bc9db0/">
+
[[File:Step_9_(S-11061)_2.png|border|800px]]
  
 
[00:17 - 00:36] если бы мы могли повлиять на тебя то внутри тип б можно было бы определить конструктор от значения типа а если же этот тип б библиотечным например или некоторых встроенным чипом то тогда для приведения к этому типу можно определить оператора прилетели
 
[00:17 - 00:36] если бы мы могли повлиять на тебя то внутри тип б можно было бы определить конструктор от значения типа а если же этот тип б библиотечным например или некоторых встроенным чипом то тогда для приведения к этому типу можно определить оператора прилетели
  
  
<img width="50%" src="https://ucarecdn.com/ff0b258e-3d32-4cbe-83f6-ef2c3225a7d5/">
+
[[File:Step_9_(S-11061)_3.png|border|800px]]
  
 
[00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен
 
[00:36 - 00:54] синтаксис оператора + не отличается от всех оставшихся операторов тем что в его сигнатуре не указывать возвращаемое значение так это делается для обычных методов да напомнить что оператор приведения это 1 из тех операторов которые должен
Line 25: Line 25:
  
  
<img width="50%" src="https://ucarecdn.com/d0e05cfd-d854-4921-98bf-4e02dc956fa6/">
+
[[File:Step_9_(S-11061)_4.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/88c29b48-ce5c-472f-bc7d-8367236accfb/">
+
[[File:Step_9_(S-11061)_5.png|border|800px]]
  
 
[01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения
 
[01:40 - 01:57] определим оператор приведения от класса строки к строке 4 c то есть к чиркунов сверточки таком случае нам потребуется написать оператор жарком звездочка это будет проведения
  
  
<img width="50%" src="https://ucarecdn.com/f0166dcd-38e6-46a3-b751-264f805aa802/">
+
[[File:Step_9_(S-11061)_6.png|border|800px]]
  
 
[01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся
 
[01:57 - 02:12] строки и внутри реализации данного метода можно воспользоваться оператором при любом то есть данном случае мы проверим что строка не пуста если не пуста тогда мы вернем тот указатель который здесь хранятся
  
  
<img width="50%" src="https://ucarecdn.com/877b08c9-f4f4-4702-9a57-ff39f87049c3/">
+
[[File:Step_9_(S-11061)_7.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/6b96c91a-3ab1-4949-98df-fccf376cd6d8/">
+
[[File:Step_9_(S-11061)_8.png|border|800px]]
  
 
[02:12 - 02:31] а если строка пуста мы вернем ветеран соответствующий пустой строки ну потому что в противном случае мы бы вернули нулевой указатель и дальше кто то снаружи ему будет поэтому другом указатель обратиться это привело бы к плачевным последствиям
 
[02:12 - 02:31] а если строка пуста мы вернем ветеран соответствующий пустой строки ну потому что в противном случае мы бы вернули нулевой указатель и дальше кто то снаружи ему будет поэтому другом указатель обратиться это привело бы к плачевным последствиям
  
  
<img width="50%" src="https://ucarecdn.com/5a59f5ac-c3f6-420f-b64f-07c2588796c0/">
+
[[File:Step_9_(S-11061)_9.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/07977c2c-410f-4acf-90f4-876c14e852f2/">
+
[[File:Step_9_(S-11061)_10.png|border|800px]]
  
 
[02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании
 
[02:31 - 02:50] замечу что в стандарте 2003 года для оператора привидениях типа нельзя указать ключевое слово explicit как это можно сделать при описании
  
  
<img width="50%" src="https://ucarecdn.com/b61dcf91-fe75-425a-9de7-7cd16eb3b30c/">
+
[[File:Step_9_(S-11061)_11.png|border|800px]]
  
 
[02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг
 
[02:50 - 03:08] конструктор от 1 аргумент соответственно все преобразования которые создаются при помощи оператор приведения к типу они работы в том числе и неявно это было исправлено в стандарте 11 года но вот значит есть друг
  
  
<img width="50%" src="https://ucarecdn.com/d9d91d7d-a448-4528-97f1-7fa3bfc2b91b/">
+
[[File:Step_9_(S-11061)_12.png|border|800px]]
  
 
[03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit
 
[03:08 - 03:23] скачать программу для старого стандарта помнить о том что описание конструктор в напарники предпочтительно в том числе и потому что в данных дано конструктор можно указать слово explicit
  
  
<img width="50%" src="https://ucarecdn.com/2bb13ddb-4903-4737-9c6f-07de47434cc6/">
+
[[File:Step_9_(S-11061)_13.png|border|800px]]
  
 
[03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо
 
[03:23 - 03:36] и таким образом избежать неявных преобразований с оператор приведения типа такого то там starting пройдет 1 можно указать слово список и все будет хорошо
  
  
<img width="50%" src="https://ucarecdn.com/3d764348-f041-446c-87fa-b71e1cf0e12b/">
+
[[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

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