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()创建临时变量
重载 正负 + / - 、 重载 ==、重载 <<