1.先 += 再 +。利用+=在+中操作副本。
2.只需要制定一套该类之间的运算符重载和一套该类与其他类型的转换构造函数即可实现该类与其他类型之间的运算符重载。
3.+ - * /返回副本
a++ 返回延迟副本
关系运算符返回bool
其他值运算符(= += ++a等)返回引用(特别注意:不是常量引用。发现编译器支持(a = b )= c 这种语法。说明带=运算符返回为引用。且逻辑上也说得通)
4. !=
{
return !( a == b );
}
5.+ - * /及关系运算符不改变对象的值,应该加const
6.对于+等双向操作符,应该定义为全局函数以实现交换律(考虑到利用+=来简化操作并创建副本,可以一个参数接受副本,另一个参数接受常量引用)
7.利用<和==足够实现其他关系运算符