作者noblebell (高貴的鈴)
看板EE_DSnP
標題[問題]hw5 array的兩種operator overload *
時間Tue Dec 1 22:54:10 2009
如array.h的程式碼:
34 const T& operator * () const { return (*this); }
35 T& operator * () { return (*_node); }
請問如果使用者*it (Array::iterator it)時,會呼叫那一個函數?
是不是電腦會自動根據,欲assigned變數的型態來決定呼叫那一個函數?
例如:
const T& a = *it --------呼叫 const T& operator * () const{}
T& a = *it --------呼叫 T& operator * () {}
謝謝回答~
--
我即使想憑著"浩然正氣"寫程式也不能....因為.....
我只有"一股傻氣".......囧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.251.6
※ 編輯: noblebell 來自: 140.112.251.6 (12/01 22:55)
1F:推 a3785lexx:我記得自己測試的結果跟你的猜想好像差不多 12/02 01:10
2F:→ a3785lexx:另外return *this好像怪怪的...最少我改掉了XD 12/02 01:11
3F:→ a3785lexx:歐我懂了哈哈XD 12/02 01:11
4F:→ noblebell:我還沒改XDD 12/02 12:40
5F:推 rockyai:沒錯,會根據assign的變數呼叫 12/02 16:03
6F:→ noblebell:哦~謝謝樓上。另外可以請問三樓什麼新發現嗎? >//<" 12/02 17:36