我有一個對象SeatSelection。在此對象中,我聲明整數數組的一個數組如下C++中的隱式靜態變量?
int *rows[25];
我SeatSelection構造函數初始化變量的行如下:
SeatSelection::SeatSelection(int start, int range){
this->range = range;
this->start = start;
for(int i = 0; i < range; i++){
rows[i] = new int[10];
for(int j = 0; j < 10; j++)
rows[i][j] = (j+1);
}
}
在理論上,我現在應該對整數數組的數組大小10對嗎?
在我的驅動程序類,
我聲明瞭兩個SeatSelection對象,都具有不同參數:
SeatSelection premium(1,5);
SeatSelection regular(6, 15);
premium
應該有5行的10個席位= 50個席位。
regular
應該有15行,每個10個座位= 150個座位。
通過一些調試,我發現這兩個不同的SeatSelection對象共享相同的rows
指針/數組。我沒有聲明這個變量是靜態的。這是爲什麼發生?
你認爲'std :: vector'嗎? –
調試輸出和SSCCE或它沒有發生。 –
這是爲了我們不允許使用'std :: vector'的任務。我們的陣列必須「手工完成」。 –