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