C++의 Friend 함수는 액세스 지정자 또는 네임스페이스를 통해 액세스 권한을 제한하여 특정 함수 또는 특정 네임스페이스 내의 함수만 클래스의 비공개 멤버에 액세스하도록 허용할 수 있습니다.
C++ 친구 기능에 대한 자세한 설명: 친구 기능의 접근 권한을 어떻게 제한하나요?
C++에서 친구 함수는 외부 함수가 클래스의 비공개 멤버에 액세스할 수 있도록 하는 특수 함수입니다. 이를 통해 다른 클래스 외부에서 한 클래스의 개인 데이터나 기능에 액세스할 수 있으므로 특정 상황에서 더 큰 유연성을 제공할 수 있습니다.
친구 기능의 접근 권한을 제한하세요
친구 선언을 제한하여 친구 기능의 접근 권한을 비공개 멤버로 제한할 수 있습니다. 이를 수행하는 방법에는 두 가지가 있습니다:
방법 1: 액세스 지정자 사용
액세스 지정자(공개, 보호 또는 비공개)를 사용하여 친구 기능의 액세스를 제한할 수 있습니다. 구문은 다음과 같습니다.
class MyClass { private: // 私有成员只能被友元函数访问 friend void friendFunction(); };
방법 2: 네임스페이스 사용
네임스페이스를 사용하여 친구 기능의 가시성을 제한할 수도 있습니다. 구문은 다음과 같습니다.
namespace MyNamespace { class MyClass { private: // 私有成员由 MyNameSpace 命名空间内部所有友元函数访问 friend class MyFriendClass; }; }
실용 사례
다음 두 클래스가 있다고 가정합니다:
class Person { private: string name; int age; }; class FriendClass { public: // 可以访问私有成员,因为它是一个友元类 void printPersonDetails(Person person) { cout << person.name << ", " << person.age << endl; } };
여기, FriendClass
是 Person
类的友元类,因此它可以访问 name
和 age
및 기타 비공개 멤버.
예제 실행
int main() { Person person{"John Doe", 30}; FriendClass friendObj; friendObj.printPersonDetails(person); return 0; }
출력:
John Doe, 30
위 내용은 C++ 친구 함수에 대한 자세한 설명: 친구 함수의 액세스 권한을 제한하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!