首頁 >後端開發 >C++ >C++ 友元函數的宣告規則有哪些?

C++ 友元函數的宣告規則有哪些?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2024-04-16 08:57:021009瀏覽

友元函數宣告規則如下:宣告必須位於類別的外部。可以聲明為成員函數或全域函數。可透過指標或引用傳遞類別的物件。

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

C 友元函數的宣告規則

#友元函數宣告

友元函數是一種特殊的函數,可以存取類別的私有成員。要在C 中宣告友元函數,使用friend 關鍵字,如下所示:

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

聲明規則

以下是在C 中宣告友元函數的規則:

  • 友元函數的宣告必須位於類別的外部。
  • 友元函數可以宣告為成員函數(帶作用域解析符)或全域函數(不帶作用域解析符)。
  • 可以透過指標或參考來傳遞類別的物件。

實戰案例

考慮以下MyClass 類,它有私有成員變數_data

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn