Files
Calculator/basecalc.cpp
T

55 lines
862 B
C++

#include "basecalc.h"
BaseCalculator::~BaseCalculator()
{}
int BaseCalculator::calculate(const Operation& op)
{
switch(op.type)
{
case OpType::Addition:
result = op.a + op.b;
break;
case OpType::Subtraction:
result = op.a - op.b;
break;
case OpType::Multiplication:
result = op.a * op.b;
break;
case OpType::Division:
result = op.a / op.b;
break;
case OpType::Modulo:
result = op.a % op.b;
break;
case OpType::Special:
result = special(op.a);
break;
default:
result = 0;
}
return result;
}
BaseCalculator::operator int()
{
return result;
}
int BaseCalculator::negate()
{
result = -result;
return result;
}
int BaseCalculator::special(int a)
{
return a * a;
}