看板 C_and_CPP 關於我們 聯絡資訊
你問清楚一點吧. 那句是 constructor, 有 explicit keyword, 又有 default argument 你不清楚的究竟是哪一樣? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
redluna:應該是default argument,沒有看過int = contant的用法 05/18 16:39
redluna:謝謝回答 05/18 16:39
avhacker:沒給參數名稱,是個無用的參數,又給了預設值,不知要幹嘛 05/18 16:50
redluna:可是他是完整的code 不然我幹麻問Orz 05/18 17:01
iamivers0n: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
LPH66:原推文五樓正解。 下面應該會有 stack::stack(int) 的實作 05/18 20:43
yoco315:+100萬,這種一看就知道只是宣告,偏偏原po寫成定義. 05/18 20:56
yoco315:然後還說這是完整的code XD 05/18 20:56
warlock0319:第一個是constructor 第二個是copy constructor 05/18 21:24
redluna:懂了在實做了 05/18 21:25
redluna:謝謝大家Orz 05/18 21:25
sunneo:不過, prototype有參數名稱對於寫doc跟維護會比較方便 05/21 12:37