Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Fotografija
- {
- private:
- char *opis;
- int rezolucija;
- int moment_na_fotografiranje;
- public:
- Fotografija()
- {
- opis=new char[1];
- strcpy(opis, "");
- }
- Fotografija(char *_opis,int _rezolucija,int _moment_na_fotografiranje)
- {
- opis=new char[strlen(_opis)+1];
- strcpy(opis,_opis);
- rezolucija=_rezolucija;
- moment_na_fotografiranje=_moment_na_fotografiranje;
- }
- ~Fotografija()
- {
- delete[] opis;
- }
- const char *getOpis(){return opis;}
- int getRezolucija(){return rezolucija;}
- int getMomentNaFotografiranje(){return moment_na_fotografiranje;}
- bool operator<(Fotografija &p)
- {
- //if(rezolucija!=p.rezolucija)
- return rezolucija<p.rezolucija;
- }
- friend ostream& operator<<(ostream& out,Fotografija &l)
- {
- out<<""<<l.getOpis()<<" "<<l.getRezolucija()<<endl;
- return out;
- }
- Fotografija(Fotografija &p)
- {
- opis=new char[strlen(p.opis)+1];
- strcpy(opis,p.opis);
- rezolucija=p.rezolucija;
- moment_na_fotografiranje=p.moment_na_fotografiranje;
- }
- Fotografija& operator=(Fotografija &y)
- {
- if(this != &y)
- {
- delete[] opis;
- opis=new char[strlen(y.opis)+1];
- strcpy(opis,y.opis);
- rezolucija=y.rezolucija;
- moment_na_fotografiranje=y.moment_na_fotografiranje;
- }
- return *this;
- }
- };
- class Album
- {
- private:
- Fotografija *fotografii;
- int broj_fotografii;
- char ime_album[50];
- public:
- Album()
- {
- }
- Album(const char *_ime_album="",Fotografija *_fotografii=0,int _broj_fotografii=0)
- {
- strcpy(ime_album,_ime_album);
- broj_fotografii=_broj_fotografii;
- if (broj_fotografii > 0)
- {
- fotografii=new Fotografija[broj_fotografii];
- for(int i=0;i<broj_fotografii;i++)
- {
- fotografii[i]=_fotografii[i];
- }
- }
- else
- {
- fotografii = NULL;
- }
- }
- ~Album()
- {
- delete[] fotografii;
- }
- Fotografija &operator[](int i)
- {
- Fotografija& pom=fotografii[i];
- return pom;
- }
- Album& operator+=(Fotografija t)
- {
- Fotografija *pom;
- pom=new Fotografija[broj_fotografii+1];
- for(int i=0;i<broj_fotografii;i++)
- {
- pom[i]=fotografii[i];
- }
- pom[broj_fotografii]=t;
- broj_fotografii++;
- //if
- delete[] fotografii;
- fotografii=pom;
- return *this;
- }
- int najgolemaFotografija()
- {
- int max=0;
- for(int i=0;i<broj_fotografii;i++)
- {
- if(fotografii[i].getRezolucija()>max)
- {
- max=fotografii[i].getRezolucija();
- }
- return max;
- }
- }
- int getBrojFotografii(){return broj_fotografii;}
- };
- int main()
- {
- Fotografija f1("Golem Korab",8000,15500);
- Fotografija f2("Ohridsko Ezero",7500,17000);
- Fotografija f3("Vodno od juzhna strana",2200,17500);
- Album a("Vo priroda");
- a += f1;
- a += f2;
- a += f3;
- cout << " Najgolema fotografija : " << endl;
- cout << a. najgolemaFotografija();
- cout << " ----------------------" << endl;
- for (int i=0;i<a.getBrojFotografii();i++)
- {
- cout<<a[i]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement