...  NODETYPE> class Tree {
11   public:
12      // insert node in Tree
13      void insertNode(const NODETYPE& value) {
14         insertNodeHelper(&rootPtr , value);
15      }
16
17      // begin preorder traversal of Tree
18      void preOrderTraversal() const {
19         preOrderHelper(rootPtr);
20      }
21
22      // begin inorder traversal of Tree
23      void inOrderTraversal() const {
24         inOrderHelper(rootPtr);
25      } 
26
27      // begin postorder traversal of Tree
28      void postOrderTraversal() const {
29         postOrderHelper(rootPtr);
30      }
31
32   private:
33      TreeNode<NODETYPE>* rootPtr{nullptr};
34
35      // utility function called by insertNode; receives a pointer
36      // to a pointer so that the function can modify pointer"s value
37      void insertNodeHelper(
38         TreeNode<NODETYPE>** ptr, const NODETYPE& value) {

Get C++ How to Program, 10/e now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.