Step 7 (S-11058)

From Stepik Wiki
Revision as of 11:42, 20 March 2017 by Admin (Talk | contribs) (Create page for step id=11058)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

<img width="50%" src="https://ucarecdn.com/359ae4b1-8574-4804-b31b-1fdd6810d895/">

[00:00 - 00:14] 1 достаточно знаний для того чтобы понять как работает операторы вот когда рассказывал про ввод вывод я говорил что все и вся вот эта некоторой специальной ключевые слова и не объяснял как ты работаешь теперь вы можете


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


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


[00:46 - 01:04] файлами и 70 надо подключить какой то федор который писался определял базовый класс для потоков вот например все да и austria предрекали 70 и в том числе в интересах это получается ходор


[01:04 - 01:21] да все можно при желании подключить именно его и тогда вы избежите подключения определение 70 но в некоторых очень можно обойтись может лежать и остро


<img width="50%" src="https://ucarecdn.com/a71990a0-6b25-4d21-ac82-27756fabf8af/">

[01:21 - 01:36] внутри его с wd определяются классы экстрим и 100 t острым если допустим это базовый класс для всех потоков вывода ввода


<img width="50%" src="https://ucarecdn.com/a540c723-7b04-4550-a5af-130f2bffacbf/">

[01:36 - 01:51] а это для всех потоков как надо перегружать оператор ввода давайте начнем с того оператор который принимает 2 аргумента 1 аргумент это собственно поток ввода


<img width="50%" src="https://ucarecdn.com/d9156fe6-3109-418b-ae36-b870cfd98a6a/">

[01:51 - 02:07] передается по ссылке в качестве 2 аргумента принимается значение того типа который вы хотите считать ну нашем случае вектор всего 2 поля 1 будем считать что


<img width="50%" src="https://ucarecdn.com/3677010d-7436-4dfb-8366-9db58a2483b7/">

[02:07 - 02:26] на вот будет по 22 числа которые соответствуют поэтому при реализации данного оператора я из потока воду из считывают сначала 1 потом 2 и важно для того чтобы могли учитывать несколько


<img width="50%" src="https://ucarecdn.com/7c95f8ab-1efa-46f2-bee3-d75c68f0f721/">

<img width="50%" src="https://ucarecdn.com/b29cfc5f-4366-48ce-a825-9aaa882d67da/">

[02:26 - 02:41] значит не подряд как делать то есть то есть 1 метод вызывается 2 метод для того чтобы это работало надо из оператора буду возвращать ссылку на


<img width="50%" src="https://ucarecdn.com/fc45818e-fc59-4542-a868-1e78f6a06788/">

[02:41 - 02:58] поток вот мы здесь зачем в отношении врача по поводу в как и с которым уже что то что то аналогичное делать с потоками вывод в качестве 1 аргумента пример принимается поток вывода


<img width="50%" src="https://ucarecdn.com/2d2f35d5-1d0b-45fc-9377-ee6501e7126c/">

[02:58 - 03:14] базовый класс если мы определим это будет работать и для себя вот и если известно о встрече авто в качестве 2 аргумента передается значение давайте по которой мы хотим вывести но и тем кто там аналогично


<img width="50%" src="https://ucarecdn.com/ee45b45a-536a-45b8-be42-7c1004b16d99/">

[03:14 - 03:31] так вот значение вектора всего 2 поля мы сначала будем 1 поле потом будем пробел вот 2 пулю и точно также для того чтобы можно было выводить несколько значений в 1 поток что можно было написать сразу несколько операторов и вода


<img width="50%" src="https://ucarecdn.com/7e000be5-99bd-4e17-afe4-877cecc206a8/">

<img width="50%" src="https://ucarecdn.com/19513752-c41b-4342-9a8a-f761855e5070/">

[03:31 - 03:50] из этого оператора на 12 ссылку на поток вывода важно отметить что оператор ввода и оператор вывода мы всегда будем определять как внешние функции потому что если бы мы хотели определить как методы нам пришлось бы это сделать


<img width="50%" src="https://ucarecdn.com/589a67c2-1e38-47a3-abb7-47a853acc195/">

<img width="50%" src="https://ucarecdn.com/00b110c8-c787-4b85-bf05-d9bd965d88aa/">

[03:50 - 04:03] внутри соответствующих классов и stream austria а мы не можем их менять они описаны где то внутри стандартный библиотеке ему просто не можем внутренних отчетов


<img width="50%" src="https://ucarecdn.com/5e2113ff-98f1-414a-9fc4-2a961fb15edd/">