#ifndef __NAREDBE_HPP__ #define __NAREDBE_HPP__ 1 #include #include #include #include "izrazi.hpp" using namespace std; class Naredba { public: virtual void izvrsi() const = 0; virtual ~Naredba() { } }; class IspisStringa : public Naredba { public: IspisStringa(string s) :_s(s) {} void izvrsi() const; private: string _s; }; class IspisIzraza : public Naredba { public: IspisIzraza(Izraz *i) :_i(i) {} void izvrsi() const; ~IspisIzraza(); private: IspisIzraza(const IspisIzraza& i); IspisIzraza& operator=(const IspisIzraza& i); Izraz *_i; }; class Blok : public Naredba { public: Blok(vector v) :_v(v) {} void izvrsi() const; ~Blok(); private: Blok(const Blok &b); Blok& operator=(const Blok &b); vector _v; }; #endif