带有指针的容器的模板类

时间:2010-12-15 15:41:49

标签: c++ templates

以下是可能的:

template<class  Container>
class TreeNode
{  

 Container mChildren;
}

TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;

1 个答案:

答案 0 :(得分:2)

不像你那样。 TreeNode不是类,而是类模板。 我现在很着急,所以这可能不是最简单或最优雅的方式,但有可能:

#include <vector>

using namespace std;

class Container {};

template<class  Container>
class TreeNode
{  
  Container mChildren;
};

class TreeNodeWrapper;

typedef TreeNode<std::vector<TreeNodeWrapper*> > recursiveTreeNode;

class TreeNodeWrapper : public recursiveTreeNode {
};

recursiveTreeNode myTreeNode;