<分区>
Possible Duplicate:
minimal reflection in C++
基本上我将类名存储在 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;
}