C++에서 친구 함수는 클래스의 모든 공개, 보호 및 비공개 멤버에 액세스할 수 있지만 비공개 멤버에 대한 액세스는 제한되어 있으며 클래스의 멤버 함수가 호출될 때만 수행할 수 있습니다.
친구 기능이란 무엇인가요?
Friend 함수는 클래스의 private 및 protected 멤버에 액세스할 수 있는 C++의 특수 함수입니다. Friends 함수는 클래스 정의 외부에서 선언되어야 합니다.
Friend 함수가 액세스할 수 있는 Type 멤버
Friend 함수는 다음 Type 멤버에 액세스할 수 있습니다.
실용 사례
다음 코드를 고려하세요.
class MyClass { private: int m_num; public: MyClass(int num) : m_num(num) {} friend void print_num(MyClass& obj) { std::cout << obj.m_num << std::endl; } }; int main() { MyClass obj(42); print_num(obj); // 友元函数访问私有成员 return 0; }
출력 결과:
42
이 예에서 print_num()은 MyClass의 친구 함수입니다. MyClass의 멤버 함수가 아니더라도 전용 멤버 m_num에 액세스할 수 있습니다.
Restricted Access
비공개 회원에게는 친구 기능 접근이 제한되어 있으니 주의하시기 바랍니다. Friend 함수는 클래스의 멤버 함수가 호출될 때만 전용 멤버에 액세스할 수 있습니다. 즉, 친구 함수는 외부에서 비공개 멤버에 직접 액세스할 수 없습니다.
위 내용은 C++ 프렌드 함수는 어떤 유형 멤버에 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!