Advertisement
LegoDrifter

Lulu's Polymorph

May 16th, 2020
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5. class Publikacija{
  6. protected:
  7.     int godina;
  8.     char naziv[50];
  9. public:
  10.     Publikacija(char *naziv="",int godina=0)
  11.     {
  12.         this->godina = godina;
  13.         strcpy(this->naziv,naziv);
  14.     }
  15.     int getGodina()
  16.     {
  17.         return godina;
  18.     }
  19.     virtual void pecati()
  20.     {
  21.         cout<<"Publikacija:"<<naziv<<" - "<<godina<<endl;
  22.     }
  23.  
  24. };
  25. class Kniga:public Publikacija{
  26. private:
  27.     int broj_strani;
  28. public:
  29.     Kniga(char *naziv="",int godina=0, int broj_strani = 0)
  30.     :Publikacija(naziv,godina)
  31.     {
  32.         this->broj_strani=broj_strani;
  33.     }
  34.     void pecati()
  35.     {
  36.         cout<<"Kniga: "<<naziv<<" - "<<godina<<" strani: "<<broj_strani<<endl;
  37.     }
  38.  
  39. };
  40. class Vesnik: protected Publikacija{
  41. private:
  42.     int broj;
  43. public:
  44.      Vesnik(char *naziv="",int godina=0, int broj = 0)
  45.     :Publikacija(naziv,godina)
  46.     {
  47.         this->broj=broj;
  48.     }
  49.     void pecati()
  50.     {
  51.         cout<<"Vesnik: "<<naziv<<" - "<<godina<<" reden broj: "<<broj<<endl;
  52.     }
  53.  
  54.  
  55. };
  56. class DnevenVesnik:private Vesnik{
  57. private:
  58.     int den;
  59.     int mesec;
  60. public:
  61.     DnevenVesnik(char *naziv="",int godina=0,int broj = 0,int den=0,
  62.     int mesec=0):Vesnik(naziv,godina,broj)
  63.     {
  64.         this->den=den;
  65.         this->mesec=mesec;
  66.     }
  67.  
  68.     using Vesnik::pecati;
  69.  
  70.  
  71.  
  72.  
  73. };
  74.  
  75. int main()
  76. {
  77.      Publikacija p("Tabernakul", 1992);
  78.   p.pecati();
  79.   Kniga *k = new Kniga("ProsvetnoDelo", 1900, 123);
  80.   k->pecati();
  81.   k->pecati();
  82.  
  83.   Vesnik *s = new Vesnik("Tea", 2013 ,30);
  84.  
  85.   s->pecati();
  86.   DnevenVesnik d("Vest",2,3,2014,25);
  87.   d.pecati();
  88.  
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement