Дружественная функция – это функция, …
Другие предметы Университет Дружественные функции в C++ дружественная функция C++ основы программирования университет функции C++ программирование на C++ обучение C++
Дружественная функция в C++ — это функция, которая имеет доступ к закрытым (private) и защищённым (protected) членам класса, но не является членом этого класса. Это позволяет функции взаимодействовать с внутренними данными класса, не нарушая инкапсуляции. Давайте разберёмся, как это работает и зачем это нужно.
Зачем нужны дружественные функции?
Дружественные функции полезны в следующих случаях:
Как объявить дружественную функцию?
Для того чтобы сделать функцию дружественной, необходимо объявить её внутри определения класса с использованием ключевого слова friend. Вот пример:
class MyClass {
private:
    int secretData;
public:
    MyClass(int value) : secretData(value) {}
    // Объявление дружественной функции
    friend void showSecretData(const MyClass& obj);
};
// Определение дружественной функции
void showSecretData(const MyClass& obj) {
    std::cout << "Secret Data: " << obj.secretData << std::endl;
}
В этом примере функция showSecretData объявлена как дружественная в классе MyClass. Это позволяет ей получить доступ к закрытому члену secretData объекта MyClass.
Шаги для использования дружественных функций:
friend.Таким образом, дружественные функции предоставляют мощный инструмент для управления доступом к данным класса, позволяя при этом сохранять контроль над инкапсуляцией и структурой кода.