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

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

WBOY
發布: 2024-04-16 08:57:02
原創
976 人瀏覽過

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板