說我有創建的類的新對象,並將其放在一個數據結構(在這種情況下,地圖)的成員函數創建對象:基於函數Arguement C++
Class A
{
std::map<std::pair<int,int>, BaseClass*> store;
//...
public:
void createObject(?a?)
{
BaseClass* temp = new ?a?;
//place in map...
};
};
凡?a?
是一個參數,可用於創建一個對象,該對象可以是衍生自BaseClass
的多個不同類。我能想到的唯一方法是讓?a?
爲int
,並手動在switch語句中輸入每種類型。
什麼是您的實際問題?如何知道哪個派生類型實例化,或如何知道哪些參數傳遞給構造函數,或..? – ildjarn
如何知道實例化哪種類型。 –