The stub of BST::insert() should look like this:
   void BST::insert(const Item& it) {
   }
The BST::insert() method should distinguish between the two cases:
  1. If the BST is empty:
  2. Otherwise (there is at least one node):
  3. In either case (when no exception was thrown), increment myNumItems.
Since a Node is recursively defined, Node::insert(it) is a recursive method that should behave as follows:
  1. If it is less than myItem:
    1. If myLeft is NULL:
      • Set myLeft to the address of a new node containing it.
    2. Otherwise:
      • "Pass the buck" by recursively calling myLeft->insert(it).
  2. Otherwise, if it is greater than myItem:
    1. If myRight is NULL:
      • Set myRight to the address of a new node containing it.
    2. Otherwise:
      • "Pass the buck" by recursively calling myRight->insert(it).
  3. Otherwise (it is equal to myItem):