Source of BinaryNode.h


  1: //  Created by Frank M. Carrano and Tim Henry.
  2: //  Copyright (c) 2013 __Pearson Education__. All rights reserved.

  4: /** A class of nodes for a link-based binary tree.
  5:  Listing 16-2.
  6:  @file BinaryNode.h */
  7:  
  8: #ifndef _BINARY_NODE
  9: #define _BINARY_NODE

 11: template<class ItemType>
 12: class BinaryNode
 13: {   
 14: private:
 15:    ItemType              item;           // Data portion
 16:    BinaryNode<ItemType>* leftChildPtr;   // Pointer to left child
 17:    BinaryNode<ItemType>* rightChildPtr;  // Pointer to right child

 19: public:
 20:    BinaryNode();
 21:    BinaryNode(const ItemType& anItem);
 22:    BinaryNode(const ItemType& anItem,
 23:               BinaryNode<ItemType>* leftPtr,
 24:               BinaryNode<ItemType>* rightPtr);

 26:    void setItem(const ItemType& anItem);
 27:    ItemType getItem() const;
 28:    
 29:    bool isLeaf() const;

 31:    BinaryNode<ItemType>* getLeftChildPtr() const;
 32:    BinaryNode<ItemType>* getRightChildPtr() const;
 33:    
 34:    void setLeftChildPtr(BinaryNode<ItemType>* leftPtr);
 35:    void setRightChildPtr(BinaryNode<ItemType>* rightPtr);            
 36: }; // end BinaryNode

 38: #include "BinaryNode.cpp"

 40: #endif