【发布时间】:2010-04-29 12:48:48
【问题描述】:
如何扩展模板类,例如矢量?下面的代码不起作用。编译器抱怨“向量”不是模板。
template <typename T>
class Vector<T> : public std::vector<T>
{
public:
void DoSomething()
{
// ...
}
};
【问题讨论】:
-
您不应该从标准库容器继承。它们不是为此而设计的。例如,它们没有虚拟析构函数,所以如果你不小心,当你的派生向量被销毁时,你的代码就会中断。
标签: c++ inheritance templates