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