[請益] C++中contructor 的overloading

看板Programming作者 (陳揚和)時間18年前 (2007/07/19 15:39), 編輯推噓4(400)
留言4則, 3人參與, 最新討論串1/2 (看更多)
以前用overloading來產生同名不同參數的function 常常這樣寫 f(int a){....} f(int a, int b){ .... f(a){...} 就是在新多增加參數的函數中呼叫之前定義參數少的函數 (這是假設新定義多參數的函數 只是比原定義的函數多做一些事情 原來的事情還是要做) 但是碰到要新增加參數的constructor要overloading的時候 constructor(int a){...} constructor(int a, int b) { this->b = b; constructor(a); } 這樣編譯會過耶 可是不是如我預期的 是否會是new了兩個物件阿.. 並不是像原來我想的單純坐完多做的事情在做原來要做的.. constructor好像不能隨便自己call自己 有人可以解說一下嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.87.33

07/19 17:09, , 1F
不過就是個暫時物件而已= =...
07/19 17:09, 1F

07/19 17:27, , 2F
相當於 constructor tmp(a); 而已
07/19 17:27, 2F

07/19 18:19, , 3F
用 default parameter 吧
07/19 18:19, 3F

07/19 18:20, , 4F
不然就把 setting 的部份 factor out
07/19 18:20, 4F
文章代碼(AID): #16dnKmR1 (Programming)
文章代碼(AID): #16dnKmR1 (Programming)