我有幾個類DemandBuilding
,Factory
,Farm
和其他一些。我想將這些實例存儲在單個二維數組中,我通過創建一個基類Building來做到這一點,該類除了允許我這樣做外,什麼都不做:(注意第二個向量是因爲它是一個用於存儲這些參數的二維向量在地圖上的建築物)包含派生類型的C++向量基類
vector<vector<Building*> > map;
取而代之的是:
vector<vector<DemandBuilding*> > demand_buildings;
vector<vector<Factory*> > factories;
vector<vector<Farm*> > farms;
//etc...
(我是從我的電腦遠,所以我不知道這是合法的C++,但我認爲這是) 對我來說,這看起來像是不正確地使用了繼承,是嗎?
編輯:謝謝你幫助,這沒有什麼概念錯誤,但我已經意識到這樣做不會幫助我的情況,無論如何。
對不起,我忘了提及這是一個用於在地圖上存儲建築物的二維數組。我會編輯 – Ell 2011-03-12 14:50:29
@Ell如果它是2D,那麼你很好有矢量> –
2011-03-12 14:55:00