Advertisement
Crackbone

Zadatak10.1

Jan 15th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class ploca                 // izvorna klasa
  7. {
  8. public:
  9.     string naslov;
  10.     string izvodjac;
  11.     int  trajanje;
  12.  
  13.     ploca()
  14.     {
  15.         naslov = "";
  16.         izvodjac = "";
  17.         trajanje = 45;
  18.     }
  19.  
  20.     virtual void Ispisi(void) = 0;
  21. };
  22.  
  23. class LP : public ploca     // nasljeðuje
  24. {
  25. public:
  26.     int  RPM;
  27.  
  28.     LP() :ploca() { RPM = 45; }
  29.     void Ispisi() {
  30.         cout << "LP: naslov      - " << naslov << endl;
  31.         cout << "LP: izvodjac    - " << izvodjac << endl;
  32.         cout << "LP: trajanje    - " << trajanje << endl;
  33.         cout << "LP: RPM         - " << RPM << endl << endl;
  34.     }
  35. };
  36.  
  37. class CD : public ploca     // nasljeðuje
  38. {
  39. public:
  40.     bool RW;
  41.  
  42.     CD() :ploca() { RW = true; }
  43.     void Ispisi() {
  44.         cout << "CD: naslov      - " << naslov << endl;
  45.         cout << "CD: izvodjac    - " << izvodjac << endl;
  46.         cout << "CD: trajanje    - " << trajanje << endl;
  47.         cout << "CD: RW          - " << RW << endl << endl;
  48.     }
  49. };
  50.  
  51. class DVD : public ploca    // nasljeðuje
  52. {
  53. public:
  54.     bool dvostrani;
  55.  
  56.     DVD() :ploca() { dvostrani = true; }
  57.     void Ispisi() {
  58.         cout << "DVD: naslov      - " << naslov << endl;
  59.         cout << "DVD: izvodjac    - " << izvodjac << endl;
  60.         cout << "DVD: trajanje    - " << trajanje << endl;
  61.         cout << "DVD: dvostrani   - " << dvostrani << endl << endl;
  62.     }
  63. };
  64.  
  65. int main()
  66. {
  67.  
  68.     LP* a = new LP;
  69.     CD* b = new CD;
  70.     DVD* c = new DVD;
  71.     ploca* A[3] = { a,b,c };
  72.  
  73.  
  74.     /*
  75.     A[0] = a;
  76.     A[1] = b;
  77.     A[2] = c;
  78.     */
  79.  
  80.     for (int i = 0; i < 3; i++)
  81.         A[i]->Ispisi();
  82.  
  83.  
  84.     for (int i = 0; i < 3; i++)
  85.         delete A[i];
  86.     return 0;
  87.  
  88.     /*
  89.     // deklariram pokazivaèe na objekte uz dinamièku alokaciju objekata
  90.     LP* a = new LP;
  91.     CD* b = new CD;
  92.     DVD* c = new DVD;
  93.  
  94.     a->Ispisi();
  95.     b->Ispisi();
  96.     c->Ispisi();
  97.  
  98.     // dealokacija
  99.     delete a;
  100.     delete b;
  101.     delete c;
  102.  
  103.     return 0;*/
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement