Понимание концепции дружественных функций важно для эффективной разработки объектно-ориентированных программ, потому что они позволяют получать доступ к закрытым элементам класса. 34 Это необходимо, например, в случае организации взаимодействия нескольких объектов разных классов, когда обеспечивающая такое взаимодействие функция должна иметь доступ к закрытым полям нескольких объектов. 3
Также использование дружественных функций экономит время и делает код короче. 25 Например, если в программе много классов, то с их помощью не придётся для каждого класса определять set и get-методы. 2 Достаточно определить метод в одном из классов или определить функцию как глобальную, а в остальные классы прописать её прототип как дружественной функции. 25
Однако применять дружественные функции на практике следует с осторожностью, так как чрезмерное злоупотребление ими может привести к нарушению инкапсуляции классов и снижению степени защиты разрабатываемого приложения. 3