[問題] type convert operator & constructor
最近讀到關於type convert operator和type convert constructor
書中提到type convert constructor發生的時間點有二;
1.建立物件時
2.使用call by value之函數時,傳入參數為物件,但呼叫函數時,
傳入引數卻不是物件
關於2.我的想法是因為call by vlaue是將整個物件複製一份傳入到函數內,所以必須
利用傳入的引數來建立新的物件,所以就跳到1.的情況,請問這樣的想法是正確的嗎?
另外一個問題是關於書中的一段敘述:
運用類別除了可以享受多載運算子的便利,並且可以避免處理字元陣列的指標,但卻
也造成了無法使用c++中,以字元陣列為參數之函數的問題
請問"避免處理字元陣列的指標"的意思是什麼?我不太懂
再者,如果要使用字元陣列為參數之函數,大可使用像這樣的member function就好了阿
char * get_name(){return name;}
為什麼會造成問題?
最後一個問題
if(object_a == "my object" ){.....}
像上面這樣子的程式碼,compiler要怎麼分辨到底要使用type convert constructor
還是type convert operator?(object_a是一個物件)
問題很多很雜
請板上前輩們回答
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.53.228
推
11/18 10:43, , 1F
11/18 10:43, 1F
→
11/18 10:45, , 2F
11/18 10:45, 2F
→
11/18 10:46, , 3F
11/18 10:46, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
-4
5