Advertisement
tei123

instrumenty

May 22nd, 2018
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. class instrument
  5. {
  6. int cena;
  7. public:
  8. virtual void dzwiek()
  9. {
  10. cout<<"Nieokreslony brzdek!\n";
  11. }
  12. };
  13. class trabka: public instrument
  14. {
  15. public:
  16. void dzwiek()
  17. {
  18. cout<<"Tra-ta-ta!\n";
  19. }
  20. };
  21. class beben: public instrument
  22. {
  23. public:
  24. void dzwiek()
  25. {
  26. cout<<"Bum-bum-bum!\n";
  27. }
  28. };
  29. class fortepian: public instrument
  30. {
  31. public:
  32. void dzwiek()
  33. {
  34. cout<<"Plim-plim-plim!\n";
  35. }
  36. };
  37. //#include <"instrume.h">
  38. void muzyk (instrument &powierzony_instrument);
  39. int main()
  40. {
  41. instrument jakis_instrument;
  42. trabka zlota_trabka;
  43. fortepian steinway_giseli;
  44. beben moj_werbel;
  45.  
  46. cout<<"Zwykle wywolanie funkcji składowych na rzecz obiektow\n";
  47. jakis_instrument.dzwiek();
  48. zlota_trabka.dzwiek();
  49. steinway_giseli.dzwiek();
  50. moj_werbel.dzwiek();
  51. //--------------------------------------------------------------
  52. cout<< "wywolanie funkcji na rzecz obiektu pokazywanego \n"
  53. "wskaznikiem instrumentu\n";
  54. instrument *wskinstr; //wskażnik do pokazywania obiektów klasy instrument
  55. // ustawienie wskaznika
  56. // Wskaźnik do klasy bazowej może występować jako wskaźnik do obiektu
  57. // dowolnej klasy pochodnej
  58.  
  59. wskinstr = &jakis_instrument;
  60. wskinstr->dzwiek();
  61.  
  62. wskinstr = &zlota_trabka;
  63. wskinstr->dzwiek();
  64.  
  65. wskinstr = &steinway_giseli;
  66. wskinstr->dzwiek();
  67.  
  68. wskinstr = &moj_werbel;
  69. wskinstr->dzwiek();
  70. cout << "podobne zachowanie jest także w stosunku do referencji\n";
  71. muzyk(jakis_instrument);
  72. muzyk(zlota_trabka);
  73. muzyk (steinway_giseli);
  74. muzyk (moj_werbel);
  75. }
  76.  
  77. void muzyk (instrument &powierzony_instrument)
  78. {
  79. powierzony_instrument.dzwiek();
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement