#include
using namespace std;
class Recenica {
private:
string * niza;
int n;
public:
Recenica() {
niza = new string[1];
niza[0] = "default";
n = 1;
}
Recenica(string * _niza, int _n) {
n = _n;
niza = new string[n];
for(int i = 0; i < n; i++) {
niza[i] = _niza[i];
}
}
Recenica(const Recenica & tmp) {
n = tmp.n;
niza = new string[n];
for(int i = 0; i < n; i++) {
niza[i] = tmp.niza[i];
}
}
Recenica & operator = (Recenica tmp) {
n = tmp.n;
niza = new string[n];
for(int i = 0; i < n; i++) {
niza[i] = tmp.niza[i];
}
return *this;
}
~Recenica() {
delete [] niza;
}
friend ostream & operator << (ostream & stream, Recenica & tmp);
bool operator > (Recenica tmp) {
if(n > tmp.n) {
return true;
}
else {
return false;
}
}
Recenica & operator -= (string zbor) {
string tmp_niza[n];
for(int i = 0; i < n; i++) {
tmp_niza[i] = niza[i];
}
n++;
niza = new string[n];
niza[0] = zbor;
for(int i = 0; i < n - 1; i++) {
niza[i + 1] = tmp_niza[i];
}
return *this;
}
Recenica & operator -- () {
n--;
return *this;
}
string & operator [] (int i) {
return niza[i];
}
};
ostream & operator << (ostream & stream, Recenica & tmp) {
for(int i = 0; i < tmp.n; i++) {
stream << tmp.niza[i] << " ";
}
stream << endl;
return stream;
}
int main()
{
string zborovi[6]={"sakam","da","polozam","psp","vo","juni"}; Recenica r1=Recenica();
Recenica r2=Recenica(zborovi,6); Recenica r3;
r3=r2;
cout<r1);
r1[0]="Nov";
cout<