Вопросы к Поиску с Алисой
Дружественные функции в объектно-ориентированном программировании отличаются от обычных функций тем, что они имеют доступ к закрытым элементам объекта класса. github.com
Дружественная функция не является членом класса, но может обращаться к функциям-членам и переменным этого класса. github.com В виде дружественных функций оформляются действия, которые не представляют свойства класса, но концептуально входят в его состав и нуждаются в доступе к скрытым полям. github.com
Некоторые особенности дружественных функций: