基本上我都存儲在char *
類的名稱,如何創建該類的實例。 以下是我的想法。它的作品,當我通過Test
作爲模板參數是好的,但如果我嘗試這樣的事情Test *t = CreateType<ptr>
它不會工作。
有什麼辦法可以使這項工作。
class Test{
public:
Test() {
}
~Test() {
}
};
template <typename T>
T* CreateType() {
return new T;
}
int main (int argc, char **argv) {
char *ptr = "Test";
Test *T = CreateType<Test>();
return 0;
}
C++根本不允許這樣做。 –
您必須編寫一個工廠類,它可以爲您創建所需的對象。 – tuxtimo