Advertisement
Guest User

Untitled

a guest
May 24th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.58 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. class Vozilo
  4. {
  5. private:
  6.     char* markaVozila;
  7.     int godProizvodnje;
  8. public:
  9.     Vozilo()
  10.     {
  11.         int size = strlen("Nema vozila") + 1;
  12.         markaVozila = new char[size];
  13.         strcpy_s(markaVozila, size, "Nema vozila");
  14.         godProizvodnje = 0;
  15.     }
  16.     Vozilo(Vozilo & original)
  17.     {
  18.         int size = strlen(original.markaVozila) + 1;
  19.         markaVozila = new char[size];
  20.         strcpy_s(markaVozila, size, original.markaVozila);
  21.         godProizvodnje = original.godProizvodnje;
  22.     }
  23.     Vozilo(char* m, int g)
  24.     {
  25.         int size = strlen(m) + 1;
  26.         markaVozila = new char[size];
  27.         strcpy_s(markaVozila, size, m);
  28.         godProizvodnje = g;
  29.     }
  30.     ~Vozilo()
  31.     {
  32.         cout << "pozivam destruktor za " << markaVozila << endl;
  33.         delete[] markaVozila;
  34.         markaVozila = NULL;
  35.     }
  36.  
  37.     void ispisi_sve_podatke()
  38.     {
  39.         cout << "Marka vozila: " << markaVozila << endl;
  40.         cout << "Godina proizvodnje: " << godProizvodnje << endl;
  41.     }
  42.     char* getMarkaVozila()
  43.     {
  44.         return markaVozila;
  45.     }
  46.     void setMarkaVozila(char* marka)
  47.     {
  48.         delete[] markaVozila;
  49.         int vel = strlen(marka) + 1;
  50.         markaVozila = new char[vel];
  51.         strcpy_s(markaVozila, vel, marka);
  52.     }
  53.     void setGProizvodnje(int god)
  54.     {
  55.         godProizvodnje = god;
  56.     }
  57.     int getGProizvodnje()
  58.     {
  59.         return godProizvodnje;
  60.     }
  61. };
  62. class Vozac
  63. {
  64.     char ime[20];
  65.     char* prezime;
  66.     Vozilo* NjegovoVozilo;
  67.     const int BrVozacke;
  68. public:
  69.     Vozac(Vozac & original) : BrVozacke(original.BrVozacke)
  70.     {
  71.         strcpy_s(ime, 19, original.ime);
  72.         int size = strlen(original.prezime) + 1;
  73.         prezime = new char[size];
  74.         strcpy_s(prezime, size, original.prezime);
  75.        
  76.  
  77.     }
  78.     Vozac(char* i, char* p, int br, char* markaVozila, int gp) :BrVozacke(br)
  79.     {
  80.         strcpy_s(ime, 19, i);
  81.         int size = strlen(p) + 1;
  82.         prezime = new char[size];
  83.         strcpy_s(prezime, size, p);
  84.         /*BrVozacke = br;*/
  85.         NjegovoVozilo = new Vozilo(markaVozila, gp);
  86.    
  87.     }
  88.     Vozac(char* i, char* p, int br, Vozilo& V) :BrVozacke(br)
  89.     {
  90.         strcpy_s(ime, 19, i);
  91.         int size = strlen(p) + 1;
  92.         prezime = new char[size];
  93.         strcpy_s(prezime, size, p);
  94.         //BrVozacke = br;
  95.         NjegovoVozilo = new Vozilo;
  96.         NjegovoVozilo = &V;
  97.     }
  98.     Vozac(char* i, char* p, int br) : BrVozacke(br)
  99.     {
  100.         strcpy_s(ime, 19, i);
  101.         int size = strlen(p) + 1;
  102.         prezime = new char[size] + 1;
  103.         strcpy_s(prezime, size, p);
  104.         /*BrVozacke = br;*/
  105.         NjegovoVozilo = new Vozilo;
  106.        
  107.     }
  108.     ~Vozac()
  109.     {
  110.         delete[] prezime;
  111.         prezime = NULL;
  112.         delete NjegovoVozilo;
  113.         NjegovoVozilo = NULL;
  114.     }
  115.     void predstaviSe()
  116.     {
  117.         cout << "Ime: " << ime << endl;
  118.         cout << "Prezime: " << prezime << endl;
  119.         cout << "Broj vozacke: " << BrVozacke << endl;
  120.         cout << "Marka: " << NjegovoVozilo->getMarkaVozila()<< endl;
  121.         cout << "Godina proizvodnje: " << NjegovoVozilo->getGProizvodnje()<< endl;
  122.     }
  123.     char* getIme()
  124.     {
  125.         return ime;
  126.     }
  127.     char* getPrezime()
  128.     {
  129.         return prezime;
  130.     }
  131.     int getBrVozacke()
  132.     {
  133.         return BrVozacke;
  134.     }
  135.     /*void setBrVozacke(int br)
  136.     {
  137.         BrVozacke = br;
  138.     }*/
  139.     void PromjeniVozilo(char* m, int g)
  140.     {
  141.         NjegovoVozilo->setMarkaVozila(m);
  142.         NjegovoVozilo->setGProizvodnje(g);
  143.     }
  144.     char* getMarkaVozila()
  145.     {
  146.         return NjegovoVozilo->getMarkaVozila();
  147.     }
  148.     int getGodisteProivodnje()
  149.     {
  150.         return NjegovoVozilo->getGProizvodnje();
  151.     }
  152.    
  153. };
  154.  
  155. int main()
  156. {
  157.     Vozilo car1("Hyundai", 2003);
  158.     car1.ispisi_sve_podatke();
  159.    
  160.     Vozilo car2(car1);
  161.     car2.ispisi_sve_podatke();
  162.     Vozac driver1 ("Sanjin", "Smajovic", 1234);
  163.     driver1.predstaviSe();
  164.     Vozac driver2("Melisa", "Smajovic", 4321, "Opel", 1999);
  165.     driver2.predstaviSe();
  166.     Vozac driver3("Malisa", "Smajovic", 1324, car1);
  167.     driver3.predstaviSe();
  168.  
  169.     system("pause");
  170.     return 0;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement