c++ stl的容器的问题,添加函数。
2个回答
展开全部
理论是可以的。比如:
#include <list>
template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
class mylist : public std::list<_Tp, _Alloc>
{
public:
//... 你的扩充代码 ...
};
不过从比较严格的编码规范来说,不太推荐从STL容器继承。因为,严格的说,一个类如果它允许有派生类,它的析构数应该被定义虚函数,而STL容器的析构函数并没有被定义的虚函数。
最安全的方式是使用组合及代理的模式。不过使用组合并不优雅,你需要增加好多重复的代码(要把list的每个函数重新定义一次 :()。
更多追问追答
追问
我是用qt编程,写了
class mylist :public QList
{}
为什么有错误
expected class name before '{'token
我是用qt编程,写了
class mylist :public QList
{}
为什么有错误
expected class name before '{'token
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询