我有一个模板类。我想让程序询问用户他想要什么类型,然后根据他选择的类型实例化一个对象。最好的方法是什么?像这样的东西,但它不起作用:
template <typename T> class Object {...};
cin >> type;
Object<type> newobject;
最佳答案
Polymorphism
它将根据用户输入使对象基于模板和动态:
class Base
{
public:
virtual ~Base() {};
};
template <typename T>
class Type : public Base
{
T type;
};
int main()
{
int i;
cin >> i;
Base *b;
switch (i)
{
case 0: b = new Type<float>(); break;
case 1: b = new Type<int>(); break;
case 2: b = new Type<char>(); break;
}
// ...
delete b;
}
关于c++ - 从模板创建对象,类型由用户输入 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16080790/