C では、フレンド関数はクラスのすべてのパブリック、プロテクト、プライベート メンバーにアクセスできますが、プライベート メンバーへのアクセスは制限されており、クラスのメンバー関数が呼び出された場合にのみアクセスできます。
フレンド機能とは何ですか?
フレンド関数は、クラスのプライベート メンバーと保護されたメンバーにアクセスできる C の特別な関数です。フレンド関数はクラス定義の外で宣言する必要があります。
フレンド関数がアクセスできる型メンバー
フレンド関数は次の型メンバーにアクセスできます:
実践的なケース
次のコードを考えてみましょう:
class MyClass { private: int m_num; public: MyClass(int num) : m_num(num) {} friend void print_num(MyClass& obj) { std::cout << obj.m_num << std::endl; } }; int main() { MyClass obj(42); print_num(obj); // 友元函数访问私有成员 return 0; }
出力結果:
42
この例では、print_num ()内はMyClassのフレンド機能です。 MyClass のメンバー関数ではない場合でも、プライベート メンバー m_num にアクセスできます。
アクセス制限
プライベートメンバーに対するフレンド機能のアクセスは制限されていることに注意してください。フレンド関数は、クラスのメンバー関数が呼び出された場合にのみプライベート メンバーにアクセスできます。つまり、フレンド機能は外部からプライベートメンバーに直接アクセスすることはできません。
以上がC++ フレンド関数はどの型メンバーにアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。