1 #include 2 3 class Zwierze 4 { 5 public: 6 Zwierze() 7 { 8 }; 9 virtual void dajGlos() 10 { 11 std::cout << "brrr\n"; 12 } 13 }; 14 15 class Pies : public Zwierze 16 { 17 public: 18 Pies() 19 { 20 }; 21 void dajGlos() override 22 { 23 std::cout << "hau hau\n"; 24 } 25 }; 26 27 class Zyrafa : public Zwierze 28 { 29 public: 30 Zyrafa() 31 { 32 }; 33 }; 34 35 class Cyrk 36 { 37 public: 38 void wstrap(Zwierze* zwierze) 39 { 40 zwierze->dajGlos(); 41 } 42 }; 43 44 int main() 45 { 46 Zwierze* zwierze = new Zwierze(); 47 Zwierze* zwierzePies = new Pies(); 48 Zwierze* zwierzeZyrafa = new Zyrafa(); 49 Cyrk cyrk = Cyrk(); 50 cyrk.wstap(zwierze); 51 cyrk.wstap(zwierzeZyrafa); 52 cyrk.wstap(zwierzePies);