C++의 Friends 함수를 사용하면 비멤버 함수가 클래스의 비공개 및 보호 멤버에 액세스할 수 있습니다. 이는 클래스 간 작업, ADT 및 단위 테스트를 구현하는 데 매우 유용합니다. friend 함수 선언: friend 키워드를 사용하여 클래스 외부에서 함수를 선언합니다. 수업. 친구 함수 사용: 마치 멤버 함수인 것처럼 클래스의 전용 멤버에 직접 액세스합니다. 실제 사례: 친구 기능을 사용하여 연령 속성을 노출하지 않고 개인 연령 정보를 얻습니다.
C++ 프로그래밍에서 프렌드 함수는 클래스 외부의 함수가 클래스의 비공개 및 보호 멤버에 액세스할 수 있도록 하는 강력한 메커니즘입니다. 이는 다음과 같은 특정 상황에서 매우 유용합니다.
class MyClass { public: // ... private: // ... friend void print_my_class(const MyClass&); // 声明友元函数 };
위 코드에서는 print_my_class
를 MyClass
의 친구 함수로 선언합니다. 이는 print_my_class
함수가 MyClass
의 비공개 및 보호 멤버에 액세스할 수 있음을 의미합니다. print_my_class
作为 MyClass
的友元函数。这意味着 print_my_class
函数可以访问 MyClass
的私有和受保护成员。
要使用友元函数,只需在友元函数中直接访问类的私有成员即可:
void print_my_class(const MyClass& obj) { std::cout << "Private member: " << obj.private_member << std::endl; std::cout << "Protected member: " << obj.protected_member << std::endl; }
假设我们有一个 Person
类,表示一个人,它具有一个私有的 age
成员。我们想要创建一个友元函数 get_age
来获取 Person
对象的年龄:
class Person { public: // ... private: int age; friend int get_age(const Person&); // 声明友元函数 }; int get_age(const Person& person) { return person.age; }
在 main
函数中,我们创建一个 Person
对象并使用友元函数 get_age
int main() { Person person(25); std::cout << "Age: " << get_age(person) << std::endl; return 0; }🎜실제 사례🎜🎜다음을 나타내는
Person
A 클래스가 있다고 가정합니다. 사람이고 비공개 age
멤버가 있습니다. Person
개체의 나이를 가져오기 위해 친구 함수 get_age
를 만들고 싶습니다. 🎜Age: 25🎜
main
함수에서 Person 객체를 사용하고 친구 함수 get_age
를 사용하여 해당 비공개 멤버에 액세스합니다. 🎜rrreee🎜출력: 🎜rrreee위 내용은 C++ 친구 함수에 대한 자세한 설명: 클래스 간 액세스를 위해 친구 함수를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!