【发布时间】:2012-04-20 06:29:54
【问题描述】:
我有一个复杂的问题,我需要帮助。
我有一个基本情况,
class ParamBase
{
string paramValue;
//...
}
还有一堆不同模板参数的类模板。
template <typename T>
class Param : public ParamBase
{
T value;
//...
}
现在,每个 Param 实例都有不同的模板参数,double、int、string...等。
为了方便起见,我有一个指向它们的基类指针的向量,其中包含所有已创建的实例:
vector<ParamBase*> allParamsObjects;
问题是:
如何运行单个函数(全局或成员或任何内容,由您选择),将所有这些不同实例的字符串 paramValue 转换为不同的模板参数,并将转换结果保存到 Param::value 中的适当类型。这必须在保存在向量 allParamsObjects 中的所有对象上运行。
所以如果第一个 Param 的模板参数是 double,paramValue 必须转换为 double 并保存在 value 中;如果第二个 Param 的参数是 int,那么第二个的 paramValue 必须转换为 int 并保存在 value 中......等等。
任何帮助将不胜感激:-)
【问题讨论】:
标签: c++ class templates inheritance polymorphism