Re: [問題] new 多個 instance 但是constuctor又要 …

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間16年前 (2009/06/09 14:23), 編輯推噓1(100)
留言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
所以就目前array的角度而不用vector,是做不到的嗎?
06/09 14:29, 1F
文章代碼(AID): #1ABV_k81 (C_and_CPP)
文章代碼(AID): #1ABV_k81 (C_and_CPP)