3. Дружественные функции
Дружественные функции можно определять прямо внутри
описания класса (они становятся inline).
struct String {
...
friend std:: ostream&
operator <<(std:: ostream & os ,
String const& s)
{
return os << s.data_;
}
private:
char * data_;
size_t len_;
};
3/5
5. Отношение дружбы
Отношение дружбы можно охарактеризовать следующими
утверждениями:
∙ Отношение дружбы не симметрично.
∙ Отношение дружбы не транзитивно.
∙ Отношение наследования не задаёт отношение дружбы.
∙ Отношение дружбы сильнее, чем отношение наследования.
Вывод
Стоит избегать ключевого слова friend, так как оно нарушает
инкапсуляцию.
5/5