Re: [問題] new 多個 instance 但是constuctor又要 …
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間16年前 (2009/06/09 14:23)推噓1(1推 0噓 0→)留言1則, 1人參與討論串1/2 (看更多)
※ 引述《EragonJ (龍~翱翔天際)》之銘言:
: 不知道這樣子下標題對不對
: 以下是小弟遇到的一個問題
: class Time{
: private:
: int hour;
: int min;
: int sec;
: public:
: Time(int a,int b,int c){hour = a;min = b;sec = c;}
: }
: void main(){
: Time *t = new Time[5]; //***
: }
: 因為一new下去,它們那五個instance就會去call自己的constructor
: 但是又沒有辦法在同時給他們值傳進去
: 但是如果只有一個的話還可以 Time *t = new Time(10,20,30) // ok
: 不知道要怎麼解決這個問題呢?? 爬文沒有看到類似的討論
: 如果有什麼用語或是觀念有誤的,麻煩指正我一下,感謝大家!!
vector<Time> t( 5, Time(10, 20, 30) );
這樣 t 這個陣列會包含五個元素,每個都是 10:20'30
如果五個元素的值不同,在 C++ 中會比較辛苦:
vector<Time> t;
t.push_back( Time(1, 2, 3) );
t.push_back( Time(4, 5, 6) );
...
C++ 的新規格:C++0x 有提出 initializer list 的做法,
可能會變成這個樣子:
vector<Time> t = { {1, 2, 3}, {4, 5, 6}, ... };
不過目前語法尚未完全確定,也沒有 compiler 支援。
以上、報告完畢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
推
06/09 14:29, , 1F
06/09 14:29, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章