C++에서 친구 클래스를 사용하면 한 클래스의 모든 멤버 함수가 다른 클래스의 전용 멤버에 액세스할 수 있습니다. 친구 클래스를 선언할 때, 친구 클래스 키워드를 사용하세요. 예: OuterClass는 내부 클래스를 친구 클래스로 선언합니다. 친구 클래스 내부 클래스; 내부 클래스의 멤버 함수만 OuterClass의 전용 멤버에 액세스할 수 있습니다.
C++ Friend 함수 자세한 설명: Friend 클래스 선언 방법
머리말
C++에서 친구 관계는 비멤버 함수가 클래스의 비공개 멤버에 액세스할 수 있도록 하는 강력한 메커니즘입니다. 친구 클래스는 한 클래스의 모든 멤버 함수가 다른 클래스의 전용 멤버에 액세스할 수 있도록 하는 특별한 형태의 우정 관계입니다.
친구 클래스 선언
친구 클래스를 선언하려면 클래스 정의에 friend
키워드를 사용해야 합니다. 구문은 다음과 같습니다. friend
关键字。语法如下:
class OuterClass { // 成员变量和函数 friend class InnerClass; };
这将允许 InnerClass
中的所有成员函数访问 OuterClass
的私有成员,而其他类则无法访问。
实战案例
让我们考虑一个实际示例,其中 OuterClass
表示一个包含敏感数据的类,而 内层类
表示一个需要访问该数据的实用程序类。
OuterClass:
class OuterClass { private: int secretData; // 敏感数据 public: // 可以公开访问的数据和方法 };
内层类:
class InnerClass { friend class OuterClass; // 声明友元类 public: void printData(OuterClass& outerObj) { // 访问OuterClass的私有成员 secretData cout << "敏感数据:" << outerObj.secretData << endl; } };
在这种情况中,只有 InnerClass
中的成员函数可以访问 OuterClass
的 secretData
成员。其他类无法访问该私有成员。
注意:
OuterClass
只能访问 内层类
的公共成员,而 内层类
可以访问 OuterClass
的所有成员。friend class*
rrreeeInnerClass
의 모든 멤버 함수가 OuterClass
의 비공개 멤버에 액세스할 수 있지만 다른 클래스에는 액세스할 수 없습니다. OuterClass
는 민감한 데이터가 포함된 클래스를 나타내고 Inner Class
는 해당 데이터에 액세스해야 하는 클래스를 나타내는 실제 예를 생각해 보겠습니다. 유틸리티 클래스. 🎜🎜🎜OuterClass: 🎜🎜rrreee🎜🎜Inner Class: 🎜🎜rrreee🎜이 경우 InnerClass
의 멤버 함수만 OuterClass
의 에 액세스할 수 있습니다. secretData
멤버입니다. 다른 클래스는 이 비공개 멤버에 액세스할 수 없습니다. 🎜🎜🎜참고: 🎜🎜OuterClass
는 inner class
의 공개 멤버에만 액세스할 수 있는 반면, inner class
는 OuterClass
의 모든 멤버에 액세스할 수 있습니다. 🎜friend class*
구문을 사용하여 여러 클래스를 친구로 지정할 수 있습니다. 🎜🎜위 내용은 C++ 친구 함수에 대한 자세한 설명: 친구 클래스를 선언하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!