Facebook
From Burly Cassowary, 8 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 308
  1. class Pracownik{
  2.  
  3. public:
  4.         Pracownik(char *nazw) {nazwisko = strdup(nazw);}
  5.         virtual float podatek(float dochod) {return dochod*0.19;}
  6. private:
  7.         int *wiek;
  8.         char *nazwisko;
  9. };
  10.  
  11. class Bakier : public Pracownik
  12. {
  13.         // inaczej przeliczany dochod
  14.         float podatek(float dochod) {return dochod*0.30;}
  15. };
  16.  
  17. class Informatyk : public Pracownik
  18. {
  19.         // jeszcze inaczej przeliczany dochod
  20.         float podatek(float dochod) {return dochod*0.25;}
  21. };
  22.  
  23. Bankier dyrektor("A");
  24. Bankier kasjer("B");
  25. Informatyk programista("C");
  26.  
  27. Pracownik *wskaznik;
  28.  
  29. wskaznik = &dyrektor;
  30. wskaznik->podatek(100);
  31.  
  32. wskaznik = &kasjer;
  33. wskaznik->podatek(100);
  34.  
  35. wskaznik = &programista;
  36. wskaznik->podatek(100);
  37.  
  38. Ten virtual float podatek odpowiada za polimorfizm.
  39.