Technical test for a job interview.
at main 46 lines 652 B view raw
1 2#include "numeral_number.hpp" 3 4NumeralNumber::~NumeralNumber() 5{ 6 if (_power != nullptr) 7 { 8 delete _power; 9 } 10} 11 12void NumeralNumber::setChild(NumeralWord *child) 13{ 14 if (_power != nullptr) 15 { 16 _power->setChild(child); 17 } 18 else 19 { 20 _power = child; 21 } 22} 23 24int NumeralNumber::evaluate() 25{ 26 if (_power != nullptr) 27 { 28 return _value * _power->evaluate(); 29 } 30 31 return _value; 32} 33 34std::string NumeralNumber::to_string() 35{ 36 std::string out = _repr + "*"; 37 if (_power != nullptr) 38 { 39 out += _power->to_string(); 40 } 41 else 42 { 43 out += "null"; 44 } 45 return out; 46}