int TreeNode::Evaluate() const { //Evaluates tree switch(operation) { //switch statement to decide what operator is being used case '+': return left->Evaluate() + right->Evaluate(); case '-': return left->Evaluate() - right->Evaluate(); case '*': return left->Evaluate() * right->Evaluate(); case '/': return left->Evaluate() / right->Evaluate(); } return data; }
int main() { //main program NodePtr root = createExpressionTree(); std::cout << "The Answer is: " << root->Evaluate(); std::cout << "\nIn InOrder "; root->InOrder(); std::cout << "\nIn PreOrder "; root->PreOrder(); std::cout << "\nIn PostOrder "; root->PostOrder(); }