ホームページ >バックエンド開発 >C++ >C++ フレンド関数の権限の範囲は何ですか?

C++ フレンド関数の権限の範囲は何ですか?

PHPz
PHPzオリジナル
2024-04-15 14:42:02858ブラウズ

フレンド関数は、クラスのプライベート メンバーにアクセスできる非メンバー関数です。権限の範囲は、friend キーワードを使用して宣言されます。この例のように、addMoney 関数は BankAccount クラスのフレンドとして宣言されており、プライベート メンバーの残高にアクセスして操作できます。

C++ 友元函数的权限范围有多大?

C フレンド機能の権限範囲

フレンド機能とは?

フレンド関数は、通常はクラス メンバーのみがアクセスできるクラス メンバー (プライベートまたはプロテクト) にアクセスできる特別な非メンバー関数です。メンバー関数と同様に、フレンド関数にはクラスの内部表現にアクセスする機能があります。

権限の範囲

フレンド関数の権限の範囲は、フレンド関数として宣言されているクラスに制限されます。 Friend 関数は、他のクラスのプライベート メンバーまたは保護されたメンバーにアクセスできません。

フレンド関数の宣言

関数をフレンド関数として宣言するには、次のように friend キーワードを使用します。

class MyClass {
private:
    int privateMember;

public:
    // 声明一个友元函数
    friend void myFriendFunction(MyClass& obj);
};

実際的なケース

フレンド関数を使用してプライベート メンバーを変更するクラスを考えてみましょう:

class BankAccount {
private:
    int balance;

public:
    // 友元函数可以访问私有成员
    friend void addMoney(BankAccount& account, int amount);
};

// 友元函数的定义
void addMoney(BankAccount& account, int amount) {
    account.balance += amount;
}

この例では、addMoney関数は BankAccount クラスのフレンドとして宣言されているため、クラスのプライベート メンバー balance にアクセスし、その値をインクリメントできます。

以上がC++ フレンド関数の権限の範囲は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。