C++面向對象高級編程(侯捷)—— 5.操作符重載與臨時對象

operator overloading (操作符重載-1, 成員函數) this

  • 理解操作符重載,如 c2 += c1:
    • c2是左值,c1是右值,+=作用在c2上
    • 如果左邊的類型定義了這個操作,編譯器就可以找到並且調用
  • 注意
    • 所有成員函數隱藏了一個參數,this,誰調用這個函數,this就指向誰
    • return by reference 語法分析
      • 傳遞着不需要知道接收者以reference 形式接收(相比pointer)
      • 返回不是void的原因:連續賦值加
        • c1先加到c2,c2再加到c3
        • 如果是void,c2 += c1 的值是void,後續不能再加到c3

operator overloading (操作符重載-2, 非成員函數) (無this)

  • 不可以 return by reference,因爲返回局部變量
  • return的時候直接typename()創建臨時變量

重載 正負 + / - 、 重載 ==、重載 <<

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章