#include "niz.hpp" unsigned Niz::duzina() const { return _duzina; } unsigned Niz::kapacitet() const { return _kapacitet; } int& Niz::operator[](unsigned i) { if (i < _duzina) return _elementi[i]; if (i < _kapacitet) { _duzina = i + 1; return _elementi[i]; } unsigned novi_kapacitet = i + 10; unsigned nova_duzina = i + 1; int *novi_elementi = new int[novi_kapacitet]; for (unsigned j = 0; j < _duzina; j++) novi_elementi[j] = _elementi[j]; _duzina = nova_duzina; _kapacitet = novi_kapacitet; delete [] _elementi; _elementi = novi_elementi; return _elementi[i]; } #include using namespace std; Niz::~Niz() { delete [] _elementi; } Niz::Niz(const Niz& n) { _duzina = n._duzina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (unsigned i = 0; i < _duzina; i++) _elementi[i] = n._elementi[i]; } Niz Niz::operator=(const Niz& n) { if (this != &n) { delete [] _elementi; _duzina = n._duzina; _kapacitet = n._kapacitet; _elementi = new int[_kapacitet]; for (unsigned i = 0; i < _duzina; i++) _elementi[i] = n._elementi[i]; } return *this; }