Lista dwukierunkowa -- przyklad zastosowania destruktora ...
Lista dwukierunkowa -- przyklad zastosowania destruktora ...
Lista dwukierunkowa -- przyklad zastosowania destruktora ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Lista</strong> z wirtualnym destruktorem3class WirElementListy { //public:. . .virtual ∼ WirElementListy( );. . .}; //class WirZarzadcaListy { //public:. . .virtual ∼ WirZarzadcaListy( );. . .}; //Jeżeli przewidywane jest użycie danej klasy jako klasy bazowej oraz konieczna będzie destrukcjacałego obiektu klasy pochodnej z wykorzystaniem wskaźnika do podobiektu wspomnianej klasy bazowej,to destruktory tej klas powinny być <strong>destruktora</strong>mi wirtualnymi.<strong>Lista</strong> <strong>dwukierunkowa</strong> – przykład <strong>zastosowania</strong> <strong>destruktora</strong> wirtualnego
5Modelowanie wieloboku (cz. 1)class Wektor { //float x, y;public :Wektor(float x = 0, float y = 0): x(x), y(y) { }const float &x() const { return x; }}; //. . .class Wierzcholek: public Wektor, public WirElementListy { //public :Wierzcholek(float x, float y): Wektor(x,y) { }}; //class Wielobok: public WirZarzadcaListy { //public :void DodajWierzcholek( float x, float y );{ DodajNaPoczatek(new Wierzcholek(x,y)); }}; //Wykorzystujac ˛ wcześniej zdefiniowane klasy poprzez dziedziczenie możemy w miarę prosty sposóbbudować struktury bardziej złożone. Wada˛przedstawionej konstrukcji jest to, że odsyłacze w liściewskazuja˛na obiekty składowe rzeczywistych elementów kolejki<strong>Lista</strong> <strong>dwukierunkowa</strong> – przykład <strong>zastosowania</strong> <strong>destruktora</strong> wirtualnego
6Modelowanie wieloboku (cz. 2)int main( ){Wielobok Wk;Wk.DodajWierzcholek(1,1);Wk.DodajWierzcholek(2,2);Wk.DodajWierzcholek(3,3);Wierzcholek ∗wWierz;}for ( WirElementListy ∗wElem = Wk. Glowa; wElem; wElem = wElem–> Naste ) {wWierz = static cast(wElem);cout