如果我有一个二叉搜索树头文件BST.h
并且在其中我有:
template <class type>
struct bstNode
{
type info;
bstNode * lLink;
bstNode * rLink;
};
然后我有一个AVL.h
头文件,我想bstNode
在我的文件中使用这个结构,AVL.h
如下所示:
template<class type>
struct avlNode
{
bstNode<type> bstN;
int height;
avlNode(const type & data, bstNode<type> *ll, bstNode<type> *rl, int h = 0)
: //how would the initialization go here?
};
我的问题是如何avlNode
使用初始化列表语法初始化构造函数?我不确定如何访问bstN
.
我可以用结构外的传统定义来做到这一点:
template<class type>
avlNode<type>::avlNode(const type & data, bstNode<type> *ll, bstNode<type> * rl, int h)
{
bstN->info = data;
bstN->lLink = ll;
bstN->rLink = rl;
height = h;
}
bstN
但是当涉及到使用来自另一个类/结构的对象()时,我想学习成员初始化列表的语法。