Advertisement
MeehoweCK

Untitled

May 22nd, 2023
622
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.25 KB | None | 0 0
  1. // main.cpp
  2. #include "Figura.h"
  3. #include "Kolo.h"
  4. #include "Kwadrat.h"
  5. #include "Trojkat.h"
  6.  
  7. int main()
  8. {
  9.     Figura* Ko = new Kolo;                  // deklaracja wskaźnika na obiekt klasy Figura o nazwie Ko i dynamiczne zaalokowanie do niego obiektu klasy Kolo
  10.     Figura* Kw = new Kwadrat;
  11.     Figura* Tr = new Trojkat;
  12.  
  13.     Ko->rysuj();                            // wywołanie metody wirtualnej rysuj() dla obiektu przypisanego do wskaźnika Ko
  14.     Kw->rysuj();
  15.     Tr->rysuj();
  16.  
  17.     delete Ko;                              // zwolnienie zaalokowanej pamięci ze wskaźnika Ko
  18.     delete Kw;
  19.     delete Tr;
  20.  
  21.     return 0;                               // wyjście z programu ze zwróceniem wartości zerowej (brak błędu)
  22. }
  23.  
  24. // -------------------------------------------------
  25.  
  26. // Figura.h
  27. #pragma once
  28. class Figura
  29. {
  30. public:
  31.     virtual void rysuj() const = 0;
  32. };
  33.  
  34. // -------------------------------------------------
  35.  
  36. // Kolo.h
  37. #pragma once
  38. #include "Figura.h"
  39.  
  40. class Kolo :
  41.     public Figura
  42. {
  43.     virtual void rysuj() const;
  44. };
  45.  
  46. // -------------------------------------------------
  47.  
  48. // Kolo.cpp
  49. #include <iostream>
  50. #include "Kolo.h"
  51.  
  52. using namespace std;
  53.  
  54. void Kolo::rysuj() const                                   // nagłówek metody wirtualnej rysuj() typu void (konkretyzacja tej metody dla klasy Kolo
  55. {
  56.     cout << "To jest kolo: ( )" << endl;                // wypisanie na ekran komunikatu i przejście do kolejnego wiersza
  57. }
  58.  
  59. // -------------------------------------------------
  60.  
  61. // Kwadrat.h
  62. #pragma once
  63. #include "Figura.h"
  64. class Kwadrat :
  65.     public Figura
  66. {
  67.     virtual void rysuj() const;
  68. };
  69.  
  70. // -------------------------------------------------
  71.  
  72. // Kwadrat.cpp
  73. #include <iostream>
  74. #include "Kwadrat.h"
  75.  
  76. using namespace std;
  77.  
  78. void Kwadrat::rysuj() const
  79. {
  80.     cout << "To jest kwadrat: [ ]" << endl;
  81. }
  82.  
  83. // -------------------------------------------------
  84.  
  85. // Trojkat.h
  86. #pragma once
  87. #include "Figura.h"
  88. class Trojkat :
  89.     public Figura
  90. {
  91.     virtual void rysuj() const;
  92. };
  93.  
  94. // -------------------------------------------------
  95.  
  96. // Trojkat.cpp
  97. #include <iostream>
  98. #include "Trojkat.h"
  99.  
  100. using namespace std;
  101.  
  102. void Trojkat::rysuj() const
  103. {
  104.     cout << "To jest trojkat: /_\\ " << endl;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement