//-----------------------------------------------------------------------------
#ifndef BINARYTREECLASS_H
#define BINARYTREECLASS_H
//-----------------------------------------------------------------------------
#include "narytreeclass.cpp" //----Include .ccp for g++
//-----------------------------------------------------------------------------
template <class NodeType>
class binarytree : public tree<NodeType,2> {

public:

binarytree(void);

~binarytree(void);

//----Preorder traversal
void PreorderTaverse(void);

//----Postorder traversal
void PostorderTaverse(void);

//----Inorder traversal
void InorderTaverse(void);

private:

void DoPreorderTaverse(treenode<NodeType,2> *Node);
void DoPostorderTaverse(treenode<NodeType,2> *Node);
void DoInorderTaverse(treenode<NodeType,2> *Node);

};
//-----------------------------------------------------------------------------
template <class NodeType>
class binarytreeiterator : public treeiterator<NodeType,2> {

public:

binarytreeiterator(binarytree<NodeType> &TreeToIterate);

};
//-----------------------------------------------------------------------------
#endif
//-----------------------------------------------------------------------------
