//YOU MAY NOT MODIFY THIS DOCUMENT #pragma once #include using namespace std; class TwoThreeTreeInterface { public: TwoThreeTreeInterface() {} virtual ~TwoThreeTreeInterface() {} //This class may use a node of your own creation. /* * Attempts to add the given word to the tree * * Addition should be consistent with the instructions found in the exam instructions. */ virtual void add(string word) = 0; /* * Attempts to add the given string of words to the tree * * A string of words consists of alphabetical characters, no punctuation marks, * and white space as the delimiter separating words. The string should be parsed and * each word should be added to the tree. */ virtual void addPhrase(string words) = 0; /* * Attempts to remove the given word from the tree * * Removal should be consistent with the instructions found in the exam instructions. */ virtual void remove(string word) = 0; /* * The tree should print in the following format: * * Root (value) * Left subtree root (value) * Left left subtree root (value) * Left middle subtree root (value) * Left right subtree root (value) * Middle subtree root (value) * Middle left subtree root (value) * Middle middle subtree root (value) * Middle right subtree root (value) * * Right subtree root (value) * Right left subtree root (value) * Right middle subtree root (value) * Right right subtree root (value) * */ virtual string printTree() = 0; };