Re: [語法] constructor(int = 3)

看板C_and_CPP (C/C++)作者 (Occlumen)時間16年前 (2009/05/18 20:42), 編輯推噓3(304)
留言7則, 5人參與, 最新討論串3/3 (看更多)
你問清楚一點吧. 那句是 constructor, 有 explicit keyword, 又有 default argument 你不清楚的究竟是哪一樣? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82

05/18 16:39,
應該是default argument,沒有看過int = contant的用法
05/18 16:39

05/18 16:39,
謝謝回答
05/18 16:39

05/18 16:50,
沒給參數名稱,是個無用的參數,又給了預設值,不知要幹嘛
05/18 16:50

05/18 17:01,
可是他是完整的code 不然我幹麻問Orz
05/18 17:01

05/18 19:50,
prototype不用給參數名稱...
05/18 19:50
那他會怎麼運作啊 我貼多一點code好了 我想問的還是同一行 這邊這樣設計的兩個constructor意義是不是不一樣 上課沒聽懂這兩個contructor的關係 囧 先謝謝各位的解答Orz template<typename T> class stack { public: typedef size_t size_type ; typedef T value_type ; explicit stack(int=7); // array size; default is 7 stack(const stack<T>&); ~stack(); void push(const value_type&); void pop(); value_type& top(); const value_type& top() const; size_type size() const; bool empty() const; }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.22.7

05/18 20:43, , 1F
原推文五樓正解。 下面應該會有 stack::stack(int) 的實作
05/18 20:43, 1F

05/18 20:56, , 2F
+100萬,這種一看就知道只是宣告,偏偏原po寫成定義.
05/18 20:56, 2F

05/18 20:56, , 3F
然後還說這是完整的code XD
05/18 20:56, 3F

05/18 21:24, , 4F
第一個是constructor 第二個是copy constructor
05/18 21:24, 4F

05/18 21:25, , 5F
懂了在實做了
05/18 21:25, 5F

05/18 21:25, , 6F
謝謝大家Orz
05/18 21:25, 6F

05/21 12:37, , 7F
不過, prototype有參數名稱對於寫doc跟維護會比較方便
05/21 12:37, 7F
文章代碼(AID): #1A4LUxAz (C_and_CPP)
文章代碼(AID): #1A4LUxAz (C_and_CPP)