Step 3 (S-11075)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/561/step/3

Step 3 (S-11075) 1.png

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


[00:15 - 00:30] внутри описание класса объявить эту функцию с ключевым словом фрахт то есть пользователь ключевым словом friend и дальше указать объявления функций в нашем случае такая функция это оператор вывода


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


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


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


[01:19 - 01:37] то есть не придется разбивать на определение и объявление и все будет хорошо даже в том случае если получит положите определение такого класса дружественно функции в заголовочном файле он включился в несколько единиц трансляции


[01:37 - 01:50] то есть все хорошо можно описывать такие дружеские функции прямо внутри класс при этом в реализации этой функции мы сможем получить доступ к приватным полям класса