如何在嵌套类中实现模板
How to implement template throughout nested classes?
我正在尝试使用以下代码实现二进制树,我想自动创建在二进制树中传递的类型的节点,但我不知道如何做到这一点。请帮助。感谢
template <typename X>
class binaryTree{
template <typename X>
class node{
X data;
node<X>* left;
node<X>* right;
};
};
您不需要第二个template <typename X>
。此外,如果每个节点都拥有其左右节点,则可以考虑删除析构函数中的left
和right
指针。
#include <iostream>
template <typename X>
class binaryTree
{
public:
class node
{
public:
X data;
node *left;
node *right;
~node()
{
delete left;
delete right;
}
};
node root;
};
int main()
{
binaryTree<int> tree{
binaryTree<int>::node{
1,
new binaryTree<int>::node {2, nullptr, nullptr},
new binaryTree<int>::node {3, nullptr, nullptr}
}
};
auto& root = tree.root;
std::cout << root.data << 'n' << root.left->data << 'n' << root.right->data << 'n';
}
输出:
1
2
3
相关文章:
- 在 c++ 中实现嵌套循环的更短方法吗?
- 解释通过 lex/flex 实现 C/C++嵌套的"#include "Header""语法?
- 嵌套列表,用于在 C++ 中实现邻接列表
- C++ 在外部使用嵌套结构实现类函数
- 实现编译检查以避免C++嵌套范围
- 嵌套的模板结构构造函数实现
- c++在实现模板化嵌套类时遇到问题
- 如何在源文件中实现嵌套类构造函数
- 为什么编译器会在二进制中留下嵌套函数的实现
- C++迭代器:抽象类的迭代器可以作为嵌套类实现吗
- 为类模板的特定嵌套类实现非成员泛型函数
- 在c++中实现嵌套链表
- 如何使用boost::asio实现嵌套协议
- 如何在嵌套类中实现多态性
- 用openmp实现循环并行化的嵌套c++
- 如何在其他类的嵌套循环中获得主事件循环QCoreApplication,以实现网络操作
- 如何在 Gecode 中实现"嵌套"成本函数?
- 实现嵌套在模板类中的类的成员函数
- 如何实现嵌套提升::mpl::fold
- 错误:当我试图实现嵌套结构时,不允许使用不完整的类型