Code:
//header.h
class Skup {
int *niz, duz;
public:
bool operator% (int b) const;
Skup& operator+= (int b);
};
//methods.cpp
bool Skup::operator% (int b) const {
for (int i=0; i<duz; i++)
if (niz[i] == b) return true;
return false;
}
Skup& Skup::operator+= (int b) {
if (! (*this % b)) {
int *n = new int [duz+1];
for (int i=0; i<duz; i++) n[i] = niz[i];
n[duz++] = b;
delete [] niz;
niz = n;
}
return *this;
}
//header.h
class Skup {
int *niz, duz;
public:
bool operator% (int b) const;
Skup& operator+= (int b);
};
//methods.cpp
bool Skup::operator% (int b) const {
for (int i=0; i<duz; i++)
if (niz[i] == b) return true;
return false;
}
Skup& Skup::operator+= (int b) {
if (! (*this % b)) {
int *n = new int [duz+1];
for (int i=0; i<duz; i++) n[i] = niz[i];
n[duz++] = b;
delete [] niz;
niz = n;
}
return *this;
}
mene zanima sledece:
1. zasto postoji ono const u definiciji operatora % ???
2. zar ne postoji bolji nacin za realociranje memorije.... jer sve sto treba da se uradi je da se alocira jos jedno mesto na kraju niza a da se vrednosti sacuvaju. Prosto mi je neverovatno da ne to ne moze da se uradi na laksi nacin???