我正在尝试为可以在集合中表示的通用数据(POD或对象)创建一个包装类。基本上,我有一大堆不同类型的数据,我需要添加其他数据(如读/写时间),但我希望能够在STL容器中表示这些数据。粗略的例子:
class Base
{
int lastUpdate;
void SomeMember();
}
template<class T>
class Object : public Base
{
T data;
}
int main()
{
std::vector<Base*> data;
data.push_back(new Object<int>());
data.push_back(new Object<OtherClass>());
}
是否有类似上述内容?
答案 0 :(得分:0)
绝对有可能。你的方法看起来也正确。您基本上定义了一个公共基类和一个模板化派生类(如代码示例所示)。
您的示例中唯一缺少的是类定义后的分号。