#ifndef INC_08_TEAM_PROJECT_BINARYTREENODE_H #define INC_08_TEAM_PROJECT_BINARYTREENODE_H #include template class BinaryTreeNode { private: T item; // Data portion BinaryTreeNode* leftPtr; // Pointer to left child BinaryTreeNode* rightPtr; // Pointer to right child public: // constructors BinaryTreeNode(const T& anItem) { item = anItem; leftPtr = 0; rightPtr = 0; } BinaryTreeNode(const T& anItem, BinaryTreeNode* left, BinaryTreeNode* right) { item = anItem; leftPtr = left; rightPtr = right; } // setters void setItem(const T& anItem) { item = anItem; } void setLeftPtr(BinaryTreeNode* left) { leftPtr = left; } void setRightPtr(BinaryTreeNode* right) { rightPtr = right; } // getters T getItem() const { return item; } BinaryTreeNode* getLeftPtr() const { return leftPtr; } BinaryTreeNode* getRightPtr() const { return rightPtr; } // other functions bool isLeaf() const { return (leftPtr == 0 && rightPtr == 0); } }; #endif //INC_08_TEAM_PROJECT_BINARYTREENODE_H