fork download
  1. #include <iostream>
  2. #include <cassert>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. class KlasaBaza
  8. {
  9. public:
  10. KlasaBaza();
  11. virtual ~KlasaBaza();
  12. void MetodaWspolna();
  13. virtual void MetodaKlasy() = 0;
  14. };
  15.  
  16. class Klasa1 : public KlasaBaza
  17. {
  18. public:
  19. Klasa1();
  20. ~Klasa1();
  21. void MetodaKlasy();
  22. };
  23.  
  24. class Klasa2 : public KlasaBaza
  25. {
  26. public:
  27. Klasa2();
  28. ~Klasa2();
  29. void MetodaKlasy();
  30. };
  31.  
  32. int main()
  33. {
  34. KlasaBaza *O1 = new Klasa1();
  35. O1->MetodaWspolna();
  36. O1->MetodaKlasy();
  37. delete O1;
  38. KlasaBaza *O2 = new Klasa2();
  39. O2->MetodaWspolna();
  40. O2->MetodaKlasy();
  41. delete O2;
  42.  
  43. return 0;
  44. }
  45.  
  46. KlasaBaza::KlasaBaza()
  47. {
  48. cout << "Konstruktor KlasaBaza" << endl;
  49. }
  50.  
  51. KlasaBaza::~KlasaBaza()
  52. {
  53. cout << "Destruktor KlasaBaza" << endl;
  54. }
  55.  
  56. void KlasaBaza::MetodaWspolna()
  57. {
  58. cout << "Metoda KlasaBaza" << endl;
  59. }
  60.  
  61. Klasa1::Klasa1()
  62. {
  63. cout << "Konstruktor Klasa1" << endl;
  64. }
  65.  
  66. Klasa1::~Klasa1()
  67. {
  68. cout << "Destruktor Klasa1" << endl;
  69. }
  70.  
  71. void Klasa1::MetodaKlasy()
  72. {
  73. cout << "Metoda Klasa1" << endl;
  74. }
  75.  
  76. Klasa2::Klasa2()
  77. {
  78. cout << "Konstruktor Klasa2" << endl;
  79. }
  80.  
  81. Klasa2::~Klasa2()
  82. {
  83. cout << "Destruktor Klasa2" << endl;
  84. }
  85.  
  86. void Klasa2::MetodaKlasy()
  87. {
  88. cout << "Metoda Klasa2" << endl;
  89. }
Success #stdin #stdout 0s 3276KB
stdin
Standard input is empty
stdout
Konstruktor KlasaBaza
Konstruktor Klasa1
Metoda KlasaBaza
Metoda Klasa1
Destruktor Klasa1
Destruktor KlasaBaza
Konstruktor KlasaBaza
Konstruktor Klasa2
Metoda KlasaBaza
Metoda Klasa2
Destruktor Klasa2
Destruktor KlasaBaza