Initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user