package swa.prakt3; public abstract class ArithmeticOperation extends ArithmeticExpression{ protected ArithmeticExpression operand1; protected ArithmeticExpression operand2; protected String operationSign; public ArithmeticOperation(ArithmeticExpression operand1 ,ArithmeticExpression operand2){ this.operand1 = operand1; this.operand2 = operand2; this.type = ExprType.OPER; } public String getOperationSign() { return operationSign; } public ArithmeticExpression getLeftOperand() { return operand1; } public ArithmeticExpression getRightOperand() { return operand2; } @Override public Number accept(Visitor v, Iterator it) { this.v = v; return v.visit(this, it); } public abstract Number doOperation(Number op1, Number op2); }