// TREENODE.H // Definition of class TreeNode #ifndef TREENODE_H #define TREENODE_H #include "slistnd.h" #include "slist.h" /**************************************************************************** * * * ****************************************************************************/ template< class T > class Tree; // forward declaration template< class NODETYPE > class TreeNode { friend class Tree< NODETYPE >; public: TreeNode( const NODETYPE & ); // constructor NODETYPE getData() const; // return data private: NODETYPE data; sList S; //ptr to Linked List TreeNode *leftPtr; // pointer to left subtree TreeNode *rightPtr; // pointer to right subtree }; /**************************************************************************** * * * ****************************************************************************/ // Constructor template< class NODETYPE > TreeNode< NODETYPE >::TreeNode( const NODETYPE &d ) { data = d; leftPtr = rightPtr = 0; } //Return a copy of the data value template< class NODETYPE > NODETYPE TreeNode< NODETYPE >::getData() const { return data; } #endif /**************************************************************************** * * * ****************************************************************************/