C++中如何定义一个类的指针类

来源:百度知道 编辑:UC知道 时间:2024/09/25 05:30:50
例如.
typedef struct BiNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
此时,BiTree这个类类型便是BiTNode的指针类.但是,如果我要将BiNode里面的char写成是一个模板,要如何实现呢?
template<typename T>
struct BiTNode
{ T data;
BiTNode *lchild,rchild;
}
如果写成模板的话,按照上面的写法已经不行了,请问要如何实现?
如果要通过先去BiTNode实例化的话,那么我把BiTNode定义为模板类已经没有意义了.按我之前的写法也可以实现阿!大哥!
恩,二楼的大哥,按你的那种方法是可以通过编译,可是不能实例化阿?是什么原因呢?

你要定义指针也就是声明对象,可以这样:

template<typename T>
struct BiTNode
{
T data;
BiTNode *lchild,rchild;
};

typedef BiTNode<int>* PBitNode;
或者是其他类型,因为你的是模板。

补充:

template <typename T> typedef BiTNode<T>* PBitNode;

struct BiTNode
{ T data;
BiTNode *lchild,*rchild;
};