C のフレンド関数は、他のクラスのプライベート/保護されたメンバーにアクセスできる特別な関数です。以下のように、フレンド関数を宣言するときに、friend キーワードを使用する必要があります: フレンド関数の宣言: friends void printValue(const MyClass& obj); フレンド関数の使用: フレンド関数は通常の関数と同様に使用でき、private/ にアクセスできます。保護されたメンバー; 実際のケース: ロギング システムまたはテスト フレームワークでは、フレンド関数はクラスのプライベート データにアクセスし、特定の関数を実装できます; 注: フレンド関数は注意して使用する必要があり、完全な署名を指定する必要があり、保護されたメンバーには直接アクセスできません。メンバーも友達として宣言します。
C でのフレンド関数の宣言と使用
フレンド関数は、プライベート メンバーや保護されたメンバーにアクセスできる特別なグローバル関数またはメソッドです。他のクラスの。これは、クラスの外部から内部データまたは操作にアクセスする必要がある状況で役立ちます。
フレンド関数の宣言
フレンド関数を宣言するには、次のように friend
キーワードを使用します。
class MyClass { private: int value; public: friend void printValue(const MyClass& obj); }; // 友元函数声明 void printValue(const MyClass& obj);
上記のステートメントprintValue
関数を MyClass
のフレンド関数にします。
フレンド関数の使用
フレンド関数を宣言すると、他のグローバル関数と同様に使用できます。 Friend 関数には、クラスのプライベートおよび保護されたメンバーへの特権アクセスがあります。たとえば、次のコードでは、printValue
関数は、MyClass
のプライベート メンバー value
を出力します。
#include <iostream> using namespace std; class MyClass { private: int value; public: friend void printValue(const MyClass& obj); }; void printValue(const MyClass& obj) { cout << "Value: " << obj.value << endl; } int main() { MyClass obj; obj.value = 10; printValue(obj); return 0; }
出力:
Value: 10
実用的なケース
以下はフレンド機能を使用した実際のケースです:
#Note
としても宣言されていない限り、クラスの保護されたメンバーに直接アクセスできません。
以上がC++ でフレンド関数を宣言して使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。