diff options
1 files changed, 0 insertions, 48 deletions
| -rw-r--r-- | Polymorphism/MathExpression/Operation.hpp | 48 |
diff --git a/Polymorphism/MathExpression/Operation.hpp b/Polymorphism/MathExpression/Operation.hpp deleted file mode 100644 index ade8404..0000000 --- a/Polymorphism/MathExpression/Operation.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once
-#include "Expression.hpp"
-class Operation : public Expression
-{
-
-public:
- Expression* left;
- char op;
- Expression* right;
- Operation(Expression* left, char ch, Expression* right)
- {
-
- this->left = left;
- op = ch;
- this->right = right;
- type = 2;
-
- }
- void Print()
- {
- std::cout << '(';
- left->Print();
- std::cout << op;
- right->Print();
- std::cout << ')';
- }
- int Evaluate()
- {
- int result = left->Evaluate();
- int value2 = right->Evaluate();
-
- if (op == '+')
- result += value2;
- else if (op == '*')
- result *= value2;
- else
- return 0; //Invalid operation
- return result;
- }
- ~Operation()
- {
-
- delete left;
- delete right;
- op = '\0';
- }
-
-};
\ No newline at end of file |
