#include #include using namespace std; enum Tip { LINUX, UNIX, WINDOWS }; class OperativenSistem{ private: char *ime; float verzija; Tip tip; float golemina; public: OperativenSistem(){ ime=NULL; verzija=0; tip=(Tip) 0; golemina=0; } OperativenSistem(char *ime, float verzija, Tip tip, float golemina){ this->ime=new char[sizeof(ime)+1]; strcpy(this->ime,ime); this->verzija=verzija; this->tip=tip; this->golemina=golemina; } OperativenSistem(const OperativenSistem &os){ this->ime=new char[sizeof(os.ime)+1]; strcpy(this->ime,os.ime); this->verzija=os.verzija; this->tip=os.tip; this->golemina=os.golemina; } OperativenSistem &operator=(const OperativenSistem &os){ if(this!=&os){ delete[]ime; this->ime=new char[sizeof(os.ime)+1]; strcpy(this->ime,os.ime); this->verzija=os.verzija; this->tip=os.tip; this->golemina=os.golemina; } return *this; } ~OperativenSistem(){ delete [] ime; } void pecati(){ cout<<"Ime: "<verzija) return -1; else return 1; } bool istaFamilija(const OperativenSistem &sporedba){ if((strcmp(ime, sporedba.ime)==0) && tip==sporedba.tip) return true; else return false; } }; class Repozitorium{ private: char ime[20]; OperativenSistem *sistemi; int br_sistemi; public: Repozitorium(const char *ime){ strcpy(this->ime,ime); sistemi=NULL; br_sistemi=0; } ~Repozitorium(){ delete[]sistemi; } void pecatiOperativniSistemi(){ cout<<"Repozitorium: "<>repoName; Repozitorium repozitorium=Repozitorium(repoName); int brojOperativniSistemi = 0; cin>>brojOperativniSistemi; char ime[20]; float verzija; int tip; float golemina; for (int i = 0; i>ime; cin>>verzija; cin>>tip; cin>>golemina; OperativenSistem os = OperativenSistem(ime, verzija, (Tip)tip, golemina); repozitorium.dodadi(os); } repozitorium.pecatiOperativniSistemi(); cin>>ime; cin>>verzija; cin>>tip; cin>>golemina; OperativenSistem os = OperativenSistem(ime, verzija, (Tip)tip, golemina); cout<<"=====Brishenje na operativen sistem====="<