//********************************************** // // bstnode.h // // BST tree node definition // stolen from Mark Weiss text, then modified // // D. L. Frey 10/21/98 // //*********************************************** #ifndef BSTNODE_H #define BSTNODE_H // forward class declaration for friends template class Binary_Search_Tree; class CTree; // template tree node to hold any class as data template class Tree_Node { protected: Etype Element; // data Tree_Node *Left; // left child ptr Tree_Node *Right; // right child ptr // default constructor Tree_Node( Etype E=0, Tree_Node *L = NULL, Tree_Node *R = NULL ) : Element( E ), Left( L ), Right( R ) { } // let BST be our friend to directly // manipulate left/right child pointers friend class Binary_Search_Tree; // let CTree (derived from BST be our friend too friend class CTree; }; #endif