ホームページ >バックエンド開発 >C++ >C++ フレンド関数の宣言規則は何ですか?

C++ フレンド関数の宣言規則は何ですか?

WBOY
WBOYオリジナル
2024-04-16 08:57:02961ブラウズ

フレンド関数の宣言の規則は次のとおりです。宣言はクラスの外部にある必要があります。メンバー関数またはグローバル関数として宣言できます。クラスのオブジェクトは、ポインターまたは参照を介して渡すことができます。

C++ 友元函数的声明规则有哪些?

#C フレンド関数の宣言ルール

フレンド関数の宣言

A フレンドfunction は、クラスのプライベート メンバーにアクセスできる特別な関数です。 C でフレンド関数を宣言するには、次のように

friend キーワードを使用します。

// 声明 MyClass 类的友元函数 printInfo()
friend void printInfo(const MyClass& obj);

宣言ルール

C での宣言のルールは次のとおりです。フレンド関数:

    フレンド関数の宣言はクラスの外にある必要があります。
  • フレンド関数は、メンバー関数 (スコープ リゾルバーあり) またはグローバル関数 (スコープ リゾルバーなし) として宣言できます。
  • クラスのオブジェクトは、ポインターまたは参照を介して渡すことができます。

実践的なケース

プライベート メンバー変数

_data を持つ次の MyClass クラスを考えてみましょう:

class MyClass {
private:
    int _data;
public:
    // ...
};

フレンド関数

printInfo() を定義して _data にアクセスできます:

// 声明 printInfo() 为 MyClass 的友元函数
friend void printInfo(const MyClass& obj) {
    std::cout << "Data: " << obj._data << std::endl;
}

メイン関数で

MyClass プライベート データを出力するためのオブジェクトとフレンド関数の呼び出し:

int main() {
    MyClass obj;
    obj._data = 42;  // 访问私有成员(仅在友元函数中允许)
    printInfo(obj);  // 调用友元函数
    return 0;
}

出力:

Data: 42

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

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