标题有点混乱,所以希望我能澄清一下。
我有一个使用模板的简单类:
template <class T>
class Value
{
};
另一个扩展 unordered_set 的类:
template<class T>
class Collection : public std::unordered_set<T>
{
};
这些类都有一些其他代码,但我认为它与我的问题无关。
在 Collection 类的特定实现中,我希望它能够获取指向任何值的指针,而不管创建它时使用的模板参数如何。换句话说,我希望能够拥有类似这样的语义:
class ValueCollection : public Collection<Value*>
{
};
ValueCollection *vc = new ValueCollection();
vc.insert(new Value<std::string>("hello"));
vc.insert(new Value<int>(5));
当然,这是行不通的。我将如何获得类似的功能?