模板继承的类

时间:2016-02-03 15:49:26

标签: c++ templates inheritance polymorphism

我正在尝试为可以在集合中表示的通用数据(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>());
}

是否有类似上述内容?

1 个答案:

答案 0 :(得分:0)

绝对有可能。你的方法看起来也正确。您基本上定义了一个公共基类和一个模板化派生类(如代码示例所示)。

您的示例中唯一缺少的是类定义后的分号。