三種方法:
Overloading unary operator.
Overloading binary operator.
Overloading binary operator using a friend function.
(Types of Operator Overloading in C++)
以複數運算為例:
(原創) 如何使用Operator Overloading? (C/C++)
文章中的複數加法用的是第二種方法,即用member function;複數乘法則是第三種方法,即用 friend function.
complex1 + complex2 比較像是 complex1.+(complex2) ,也就是說complex1 呼叫了加法的函式,把complex2當成參數傳進去。
complex1 * complex2 的概念比較像一般的function ,把兩個複數當成參數傳進去。
其他參考文章:
https://stackoverflow.com/questions/13544364/over-loading-operator-must-take-either-zero-or-one-arguments
練習的code:
https://onlinegdb.com/SJSR5TEvI
沒有留言:
張貼留言