В языке программирования C++ для объявления дружественной функции используется ключевое слово friend.
Давайте разберемся, как и зачем используется это ключевое слово:
  - 
    Понимание концепции:
    
      - Дружественная функция — это функция, которая не является членом класса, но имеет доступ к его закрытым (private) и защищенным (protected) членам.
- Это может быть полезно, когда функция должна взаимодействовать с данными класса, но не должна быть его частью.
 
- 
    Синтаксис:
    
      - Чтобы объявить функцию дружественной, внутри определения класса используется ключевое слово friend перед объявлением функции.
- Пример:
 
class MyClass {
  private:
    int data;
  public:
    friend void myFriendFunction(MyClass &obj);
};
      
- 
    Как это работает:
    
      - В приведенном выше примере функция myFriendFunction является дружественной к классу MyClass.
- Она имеет доступ к закрытым членам класса, таким как data, даже если сама функция не является членом класса.
- Это позволяет функции выполнять операции, которые требуют доступа к внутренним данным объекта класса.
 
- 
    Применение:
    
      - Дружественные функции часто используются для перегрузки операторов или для функций, которым необходимо тесное взаимодействие с несколькими классами.
- Однако следует использовать их с осторожностью, так как они нарушают принцип инкапсуляции, предоставляя доступ к закрытым данным.
 
Таким образом, ключевое слово friend позволяет объявлять функции, которые могут взаимодействовать с закрытыми данными класса, что может быть полезно в определенных ситуациях программирования.