Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Vozilo
- {
- private:
- char* markaVozila;
- int godProizvodnje;
- public:
- Vozilo()
- {
- int size = strlen("Nema vozila") + 1;
- markaVozila = new char[size];
- strcpy_s(markaVozila, size, "Nema vozila");
- godProizvodnje = 0;
- }
- Vozilo(Vozilo & original)
- {
- int size = strlen(original.markaVozila) + 1;
- markaVozila = new char[size];
- strcpy_s(markaVozila, size, original.markaVozila);
- godProizvodnje = original.godProizvodnje;
- }
- Vozilo(char* m, int g)
- {
- int size = strlen(m) + 1;
- markaVozila = new char[size];
- strcpy_s(markaVozila, size, m);
- godProizvodnje = g;
- }
- ~Vozilo()
- {
- cout << "pozivam destruktor za " << markaVozila << endl;
- delete[] markaVozila;
- markaVozila = NULL;
- }
- void ispisi_sve_podatke()
- {
- cout << "Marka vozila: " << markaVozila << endl;
- cout << "Godina proizvodnje: " << godProizvodnje << endl;
- }
- char* getMarkaVozila()
- {
- return markaVozila;
- }
- void setMarkaVozila(char* marka)
- {
- delete[] markaVozila;
- int vel = strlen(marka) + 1;
- markaVozila = new char[vel];
- strcpy_s(markaVozila, vel, marka);
- }
- void setGProizvodnje(int god)
- {
- godProizvodnje = god;
- }
- int getGProizvodnje()
- {
- return godProizvodnje;
- }
- };
- class Vozac
- {
- char ime[20];
- char* prezime;
- Vozilo* NjegovoVozilo;
- const int BrVozacke;
- public:
- Vozac(Vozac & original) : BrVozacke(original.BrVozacke)
- {
- strcpy_s(ime, 19, original.ime);
- int size = strlen(original.prezime) + 1;
- prezime = new char[size];
- strcpy_s(prezime, size, original.prezime);
- }
- Vozac(char* i, char* p, int br, char* markaVozila, int gp) :BrVozacke(br)
- {
- strcpy_s(ime, 19, i);
- int size = strlen(p) + 1;
- prezime = new char[size];
- strcpy_s(prezime, size, p);
- /*BrVozacke = br;*/
- NjegovoVozilo = new Vozilo(markaVozila, gp);
- }
- Vozac(char* i, char* p, int br, Vozilo& V) :BrVozacke(br)
- {
- strcpy_s(ime, 19, i);
- int size = strlen(p) + 1;
- prezime = new char[size];
- strcpy_s(prezime, size, p);
- //BrVozacke = br;
- NjegovoVozilo = new Vozilo;
- NjegovoVozilo = &V;
- }
- Vozac(char* i, char* p, int br) : BrVozacke(br)
- {
- strcpy_s(ime, 19, i);
- int size = strlen(p) + 1;
- prezime = new char[size] + 1;
- strcpy_s(prezime, size, p);
- /*BrVozacke = br;*/
- NjegovoVozilo = new Vozilo;
- }
- ~Vozac()
- {
- delete[] prezime;
- prezime = NULL;
- delete NjegovoVozilo;
- NjegovoVozilo = NULL;
- }
- void predstaviSe()
- {
- cout << "Ime: " << ime << endl;
- cout << "Prezime: " << prezime << endl;
- cout << "Broj vozacke: " << BrVozacke << endl;
- cout << "Marka: " << NjegovoVozilo->getMarkaVozila()<< endl;
- cout << "Godina proizvodnje: " << NjegovoVozilo->getGProizvodnje()<< endl;
- }
- char* getIme()
- {
- return ime;
- }
- char* getPrezime()
- {
- return prezime;
- }
- int getBrVozacke()
- {
- return BrVozacke;
- }
- /*void setBrVozacke(int br)
- {
- BrVozacke = br;
- }*/
- void PromjeniVozilo(char* m, int g)
- {
- NjegovoVozilo->setMarkaVozila(m);
- NjegovoVozilo->setGProizvodnje(g);
- }
- char* getMarkaVozila()
- {
- return NjegovoVozilo->getMarkaVozila();
- }
- int getGodisteProivodnje()
- {
- return NjegovoVozilo->getGProizvodnje();
- }
- };
- int main()
- {
- Vozilo car1("Hyundai", 2003);
- car1.ispisi_sve_podatke();
- Vozilo car2(car1);
- car2.ispisi_sve_podatke();
- Vozac driver1 ("Sanjin", "Smajovic", 1234);
- driver1.predstaviSe();
- Vozac driver2("Melisa", "Smajovic", 4321, "Opel", 1999);
- driver2.predstaviSe();
- Vozac driver3("Malisa", "Smajovic", 1324, car1);
- driver3.predstaviSe();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement