首頁 > 後端開發 > C++ > 朋友或會員功能:什麼時候應該`operator

朋友或會員功能:什麼時候應該`operator

DDD
發布: 2024-12-08 04:45:11
原創
1052 人瀏覽過

Friend or Member Function: When Should `operator

何時實施運算子

簡介:

諸如運算符重載允許我們:

諸如運算符重載允許我們諸如擴充成員函數與友元函數
ostream& operator<<(ostream &os, const obj& rhs);
登入後複製

成員函數

    優點:
  • 直接訪問班級私有成員

在類中封裝流邏輯

friend ostream &operator<<(ostream &os, const obj& rhs);
登入後複製

友元函數

    優點:
  • 可以被多個類別使用

可以促進自動型別轉換兩個運算元

決策的基本原理

相等運算子
  • 對於相等運算子(例如,==、!=),首選成員函數,因為:
  • 他們可以直接存取班級的私人空間data。

它們強制執行類別的內部表示以進行相等比較。

流運算子
  • 對於流運算子(>),友元函數是必要的:
  • 它們對不同類型的物件進行操作(例如,ostream 和自訂類別)。

它們傳回對鍊式運算的流物件的參考。

範例:

class Paragraph {
public:
    Paragraph(const string& init) : m_para(init) {}
    const string& to_str() const { return m_para; }
    bool operator==(const Paragraph& rhs) const { return m_para == rhs.m_para; }
    friend ostream &operator<<(ostream &os, const Paragraph& p);

private:
    string m_para;
};

ostream &operator<<(ostream &os, const Paragraph& p) {
    return os << p.to_str();
}
登入後複製

考慮一個 Paragraph 類別帶有私有 m_para 字串成員。我們想要實作運算子在此範例中,運算子

以上是朋友或會員功能:什麼時候應該`operator的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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