二叉树的ADT template< class Type>class BinaryTree;//二叉树类 Binary Tree的向前说明 template <class Type>class BinaryNode I friend class BinaryTree< Type> publi void Print PreOrder() const;//按前序打印二叉树的结点的数据值 void Printpostordero const //按后序打印二叉树的结点的数据值。 void Print InOrder() //按中序打印二叉树的结点的数据值 Binary Node<type>* Duplicate() const;//复制以本结点为根的子树。 private BinaryNode<Type)*left,* right;//结点的左、右儿子的地址 Type data //结点的数据信息二叉树的ADT template <class Type> class BinaryTree; // 二叉树类 BinaryTree 的向前说明 template <class Type> class BinaryNode { friend class BinaryTree < Type>; public: void PrintPreOrder( ) const; // 按前序打印二叉树的结点的数据值。 void PrintPostOrder( ) const; // 按后序打印二叉树的结点的数据值。 void PrintInOrder( ) const; // 按中序打印二叉树的结点的数据值。 BinaryNode<Type> * Duplicate( ) const; // 复制以本结点为根的子树。 private: BinaryNode < Type> * left , * right ; // 结点的左、右儿子的地址 Type data; // 结点的数据信息 };