【发布时间】:2015-03-14 20:22:08
【问题描述】:
我希望在常规(非模板)类中拥有一个函数模板,它分配具有所需参数的派生类并返回一个指向基类的指针:
class Factory {
public:
BaseClass_T * createObject(parameters) { return new Derived_T(parameters); }
};
到目前为止,我只使用参数类型不同但数量相同的模板。由于我的不同派生类具有不同的构造函数签名,我想知道是否有一种方法可以对其进行模板化并通过模板指定生成函数的参数类型和计数,如下所示:
Factory f;
f.createObject<Derived1, void>(); // create createObject() for Derivev1() constructor
f.createObject<Derived2, int, double>(); // create createObject() for Derived2(int, double) constructor
【问题讨论】: