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()创建临时变量

重载 正负 + / - 、 重载 ==、重载 <<

 

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