#include "niz.hpp" #include int Niz::operator[](int i) const { if (i >= _velicina) throw "Prevelik indeks niza"; return _elementi[i]; } int& Niz::operator[](int i) { if (i >= _kapacitet) { int *novi = new int[i + 10]; for(int j = 0; j < _velicina; j++) novi[j] = _elementi[j]; _kapacitet = i + 10; _velicina = i + 1; delete [] _elementi; _elementi = novi; } else if (i >= _velicina) { _velicina = i + 1; } return _elementi[i]; } void Niz::init(const Niz& n) { _velicina = n._velicina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (int i = 0; i < _velicina; i++) _elementi[i] = n._elementi[i]; } void Niz::deinit() { delete [] _elementi; } Niz::~Niz() { deinit(); } Niz::Niz(const Niz &n) { init(n); } Niz& Niz::operator=(const Niz &n) { if (this != &n) { deinit(); init(n); } return *this; }