C のフレンド関数を使用すると、非メンバー関数がクラスのプライベート メンバーと保護されたメンバーにアクセスできるようになります。これは、クラス間操作、ADT、単体テストの実装に非常に役立ちます。 フレンド関数の宣言: out を宣言するには、friend キーワードを使用します。 -of-class 関数。フレンド関数を使用する: メンバー関数であるかのように、クラスのプライベート メンバーに直接アクセスします。実践例: フレンド機能を使用して、年齢属性を公開せずにプライベートな年齢情報を取得します。
C プログラミングでは、フレンド関数は、クラス外の関数を使用できるようにする強力なメカニズムです。クラスは、クラスのプライベートおよび保護されたメンバーにアクセスします。これは、次のような状況で非常に役立ちます。
class MyClass { public: // ... private: // ... friend void print_my_class(const 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
メンバーがあるとします。 person
オブジェクトの年齢を取得するために、フレンド関数 get_age
を作成します。
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; }
出力:
Age: 25
以上がC++ フレンド関数の詳細説明: クラス間アクセスにフレンド関数を使用するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。