#include "izrazi.hpp" #include using namespace std; int Konstanta::vrednost() const { return _v; } BinOp::~BinOp() { delete _levi; delete _desni; } int Zbir::vrednost() const { return _levi->vrednost() + _desni->vrednost(); } int Razlika::vrednost() const { return _levi->vrednost() - _desni->vrednost(); } int Proizvod::vrednost() const { return _levi->vrednost() * _desni->vrednost(); } int Kolicnik::vrednost() const { return _levi->vrednost() / _desni->vrednost(); } int Mod::vrednost() const { return _levi->vrednost() % _desni->vrednost(); } int Manje::vrednost() const { return _levi->vrednost() < _desni->vrednost(); } int Vece::vrednost() const { return _levi->vrednost() > _desni->vrednost(); } #include extern map tablica; int Promenljiva::vrednost() const { return tablica[_s]; } void Konstanta::ispisi() const { cout << _v; } void Zbir::ispisi() const { _levi->ispisi(); cout << " + "; _desni->ispisi(); } void Razlika::ispisi() const { _levi->ispisi(); cout << " - "; _desni->ispisi(); } void Proizvod::ispisi() const { _levi->ispisi(); cout << " * "; _desni->ispisi(); } void Kolicnik::ispisi() const { _levi->ispisi(); cout << " / "; _desni->ispisi(); } void Mod::ispisi() const { _levi->ispisi(); cout << " mod "; _desni->ispisi(); } void Manje::ispisi() const { _levi->ispisi(); cout << " < "; _desni->ispisi(); } void Vece::ispisi() const { _levi->ispisi(); cout << " > "; _desni->ispisi(); } void Promenljiva::ispisi() const { cout << _s; }