[問題] new與有引數建構子問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
各位好,小弟想要實做一個雙重建構但不知道語法如何寫
問題是這樣:
兩個類別SampleSet:有不定數量的Sample, 以numOfSamples動態宣告
而之中的Sample裡面又有一個資料, 是不定長度的陣列, 以動態宣告
我希望是建出SampleSet的時候想要同時建出Sample,call Sample的建構子,
但要用建構子決定這兩個長度
但直接在建構子new東西的時候無法給參數, 想請問要怎麼在new東西的時候全部建好..
其實問題應該改成...new(很多個)實例出來的時候要如何呼叫有引數的建構子...
class Sample
{
protected:
int* data;
public:
Sample();
Sample(int dimensionOfData)
{
data = new int[dimensionOfData];
}
};
class SampleSet
{
protected:
Sample* sample;
int numOfSamples;
public:
SampleSet();
SampleSet(int numOfSamples, int dimension)
{
sample = new Sample[numOfSamples](dimension);
//^^這邊是希望能呼叫Sample的有引數建構子並且建構好data的維度
//這是錯誤語法, 不過想請問有什麼正確語法可以做到這件事
}
};
int main()
{
SampleSet set1(1,2);
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.208.34
※ 編輯: amozartea 來自: 60.250.208.34 (06/05 18:47)
※ 編輯: amozartea 來自: 60.250.208.34 (06/05 18:52)
推
06/05 19:25, , 1F
06/05 19:25, 1F
非常感謝 原來是我不熟悉vector用法
※ 編輯: amozartea 來自: 60.250.208.34 (06/05 20:10)
推
06/05 20:55, , 2F
06/05 20:55, 2F
→
06/05 23:09, , 3F
06/05 23:09, 3F
感謝 不過我功力太弱看不懂....
可以先請問一下..
Sample() = delete;這句什麼意思嗎...
是把預設建構元殺掉的意思嗎..
原來可以這樣用@@"
※ 編輯: amozartea 來自: 114.34.216.47 (06/06 01:57)
→
06/06 02:13, , 4F
06/06 02:13, 4F
→
06/06 10:01, , 5F
06/06 10:01, 5F
→
06/06 10:13, , 6F
06/06 10:13, 6F
→
06/06 10:29, , 7F
06/06 10:29, 7F
推
06/06 11:31, , 8F
06/06 11:31, 8F
→
06/06 11:32, , 9F
06/06 11:32, 9F
→
06/06 11:33, , 10F
06/06 11:33, 10F
→
06/06 11:56, , 11F
06/06 11:56, 11F
→
06/07 01:54, , 12F
06/07 01:54, 12F
→
06/07 01:55, , 13F
06/07 01:55, 13F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章