フレンド関数を使用すると、クラス定義でフレンド キーワードを使用して宣言することにより、外部関数がクラスのプライベート メンバーまたは保護されたメンバーにアクセスできるようになります。メンバー関数とは異なり、フレンド関数はクラスの外部で宣言され、クラスのプライベート メンバーと保護されたメンバーにアクセスできます。一方、メンバー関数はクラス内で宣言され、クラスのすべてのメンバーにアクセスできます。フレンド関数は通常の関数呼び出しとして使用されますが、メンバー関数はプライベートまたは保護されたメンバーへの外部アクセスが必要な場合に使用され、メンバー関数はクラス内で使用される場合に使用されます。
#C フレンド関数の詳しい説明: フレンド関数とメンバー関数の違い
フレンド関数
フレンド関数は、外部関数がクラス内のプライベートおよび保護されたメンバーにアクセスできるようにする特別な関数です。これは、クラス定義のfriend キーワードを使用して宣言されます。
class MyClass { friend void myFriendFunction(); ... };
メンバー関数
メンバー関数は、クラスに属し、そのプライベート メンバーと保護されたメンバーにアクセスできる関数です。 文法:class MyClass { void myMemberFunction(); ... };
フレンド関数とメンバー関数の違い
フレンド関数 | メンバー関数 | |
---|---|---|
クラスのプライベートおよび保護されたメンバーにアクセスできます | クラスのすべてのメンバーにアクセス可能 | |
クラス外 | クラス内 | |
グローバル | #内部クラス | ##メソッドの呼び出し |
実際的なケース |
marks を持つ Student クラスを考えてみましょう。
メンバー:class Student { private: int marks; ... };
フレンド関数
calculateAverage() を使用して生徒の平均成績を計算できます。これは
marks:// 友元函数 friend double calculateAverage(Student& student); // 计算学生的平均成绩 double calculateAverage(Student& student) { return student.marks / 3; }にアクセスできます。
メンバー関数を使用して平均成績を計算することもできますが、これは
Student クラスでのみ使用できます:
// 类的成员函数 double getAverage() { return marks / 3; }
結論
以上がC++ フレンド関数の詳細説明: フレンド関数とメンバー関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。