class BinaryNode
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