#ifndef BITREE_H
#define BITREE_H
#include <iostream>
using namespace std;
template<typename elemtype> class bitnode
{
public:
bitnode();//构造函数
bitnode( const bitnode& );//拷贝构造函数
const elemtype date () const;//读取数据
const bitnode *lchild () const;//返回左指针
const bitnode *rchild () const;//返回右指针
void get_date( const elemtype );//输入数据
void get_lchild ( const bitnode* );//输入左指针
void get_rchild ( const bitnode* );//输入右指针
bitnode operator =( const bitnode& ); //赋值,只声明
private:
elemtype _date;//节点数据
bitnode *_lchild,*_rchild;//左右孩子指针
};//二叉树的节点
//bitnode类函数实现
template<typename elemtype>
bitnode<elemtype>::bitnode()
{
get_date( 0 );
get_rchild( 0 );
get_lchild( 0 );
}
template<typename elemtype >const
bitnode<elemtype>* bitnode<elemtype>::lchild() const
{
return _lchild;
}
template<typename elemtype> const
bitnode<elemtype>* bitnode<elemtype>::rchild() const
{
return _rchild;
}
template<typename elemtype> const
elemtype bitnode<elemtype>::date () const
{
return _date;
}
template<typename elemtype>
void bitnode<