[問題] new 多個 instance 但是constuctor又要初始值

看板C_and_CPP (C/C++)作者 (龍~翱翔天際)時間16年前 (2009/06/09 13:45), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
不知道這樣子下標題對不對 以下是小弟遇到的一個問題 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 不知道要怎麼解決這個問題呢?? 爬文沒有看到類似的討論 如果有什麼用語或是觀念有誤的,麻煩指正我一下,感謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.243.66

06/09 13:47, , 1F
加一行 Time() {}
06/09 13:47, 1F

06/09 13:52, , 2F
可是這樣的話就進入Time()這個constructor 和我想要的不太
06/09 13:52, 2F

06/09 13:52, , 3F
一樣說
06/09 13:52, 3F

06/09 14:05, , 4F
用 vector 啦!然後看你要用 push_back 還是 fill 都行
06/09 14:05, 4F

06/09 14:08, , 5F
不然就去用g++ 3.2好了,3.x的版本好像都可以
06/09 14:08, 5F

06/09 14:10, , 6F
到3.4就開始不行了
06/09 14:10, 6F

06/09 14:11, , 7F
lol~ 所以是這個方法是不被允許的就是了??
06/09 14:11, 7F

06/09 14:12, , 8F
就像 int arr[10] 卻又想同時initial值一樣
06/09 14:12, 8F

06/09 14:48, , 9F
這個可以當FAQ了 我經過版友指點 也只會用vector
06/09 14:48, 9F
文章代碼(AID): #1ABVSNad (C_and_CPP)
文章代碼(AID): #1ABVSNad (C_and_CPP)