class以外的函式
-
存在的一定是函式
-
如果是
class
的函式,那麼一定帶有類名::function
-
要麼就是全域性函式,函式名稱不會帶有
class_name_function_name
非成員函式(無this)
inline complex
operator + (const complex& x, const complex& y)
{
return complex(real(x) + real(y), imag(x) + imag(y));
}
inline complex
operator + (const complex& x, double y)
{
return complex(real(x) + y, imag(y));
}
inline complex
operator + (double x, const complex& y)
{
return complex(x + real(y), imag(y));
}
上述的例子當中進行相加完成以後並沒有一個object
-> 所以返回的是一個value
-> 所以在return
的時候不能return by reference
臨時物件 -> typename ()
-> 宣告週期到下一行就結束了.使用這個宣告方法可以宣告temp object
示例程式碼: