1.operator overloading (操作符重載-1, 成員函數) this
写成class类的成员函数。 2部分中也还会有全域函数(global)
实际上隐含了this,谁调用谁就是this
2.return by reference 語法分析
传递着无需知道接收者是以reference形式接收。
3. class body 之外的各種定義 (definitions)
这是一个全域函数,通过参数引用传递。
4.operator overloading (操作符重載-2, 非成員函數) 无this
这是全域函数,没有this appoint
若写成成员函数,只能应付 复数+复数的问题
为什么返回值不能通过引用传递,因为创造的对象只存活在函数内,一旦函数结束了,local object也就死亡了,所以不能把引用传出去。
temp object(临时对象) 形式:typename(); 就创建临时对象 ,临时对象的作用是创建了空间存放结果,临时对象在下一行就死亡了。被返回出去。
5.标题与3相同: class body 之外的各種定義 (definitions)
这也是操作符重载
6.接下来也是操作符重载-非成员函数
操作符重载两种写的方式均可:成员函数与 非成员函数
但是,特殊的操作符只能写成非成员函数: