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

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

发布了17 篇原创文章 · 获赞 2 · 访问量 7528

猜你喜欢

转载自blog.csdn.net/youshiwukong1524/article/details/105355550