Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Avtomobil
- {
- private:
- char boja[20];
- char brend[20];
- char model[20];
- public:
- Avtomobil(char *boja="", char *brend="", char *model="")
- {
- strcpy(this->boja,boja);
- strcpy(this->brend,brend);
- strcpy(this->model,model);
- }
- Avtomobil& operator=(const Avtomobil &a)
- {
- if (this != &a)
- {
- strcpy(boja,a.boja);
- strcpy(brend,a.brend);
- strcpy(model,a.model);
- }
- return *this;
- }
- friend class ParkingPlac;
- };
- class ParkingPlac
- {
- private:
- char adresa[20];
- char *id;
- int cena, zarabotka;
- Avtomobil *a;
- int broj;
- public:
- ParkingPlac(char *adresa="", char *id="", int cena=0, int zarabotka=0, Avtomobil *a=0, int broj=0)
- {
- strcpy(this->adresa,adresa);
- this->id=new char [strlen(id)+1];
- this->cena=cena;
- this->zarabotka=zarabotka;
- this->broj=broj;
- this->a=new Avtomobil [broj];
- for (int i=0; i<broj;i++)
- this->a[i]=a[i];
- }
- //copy
- ParkingPlac(const ParkingPlac &pp)
- {
- strcpy(adresa,pp.adresa);
- id=new char [strlen(pp.id)+1];
- strcpy(id,pp.id);
- cena=pp.cena;
- zarabotka=pp.zarabotka;
- broj=pp.broj;
- a=new Avtomobil[broj];
- for (int i=0; i<broj; i++)
- a[i]=pp.a[i];
- }
- //Destuktor
- ~ParkingPlac()
- {
- delete [] id;
- delete [] a;
- }
- void pecati()
- {
- if (zarabotka>0)
- cout<<id<<" "<<adresa<<" - "<<zarabotka<<" denari."<<endl;
- else
- cout<<id<<" "<<adresa<<endl;
- }
- void platiCasovi(int casovi)
- {
- zarabotka=casovi*cena;
- }
- bool daliIstaAdresa(ParkingPlac p)
- {
- if (strcmp(adresa,p.adresa)==0)
- return true;
- else
- return false;
- }
- ParkingPlac& parkirajVozilo(Avtomobil novovozilo)
- {
- Avtomobil *tmp=new Avtomobil [broj+1];
- for (int i=0; i<broj; i++)
- tmp[i]=a[i];
- tmp[broj++]=novovozilo;
- delete [] a;
- a=tmp;
- return *this;
- }
- void pecatiParkiraniVozila()
- {
- for (int i=0; i<broj; i++)
- cout<<a[i].boja<<" "<<a[i].brend<<" "<<a[i].model<<endl;
- }
- };
- int main()
- {
- int n;
- cin>>n;
- ParkingPlac p("Cvetan","C12",100);
- p.platiCasovi(2);
- ParkingPlac p1("Cvetan", "C11", 80);
- p1.platiCasovi(1);
- Avtomobil a1("Siv","Mercedes","Benz");
- p.parkirajVozilo(a1);
- p.pecatiParkiraniVozila();
- cout<<p1.daliIstaAdresa(p);
- p1.pecati();
- p.pecati();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement