148: } 149: cout << “Gotowe.n”; 150:

148: }
149: cout << “Gotowe.n”;
150: return 0;
151: }

Wynik
Zbyt mala! Otrzymano: 9
Gotowe.

Analiza
Listing 20.5 deklaruje w klasie xSize wirtualną metodę o nazwie PrintError(). Ta metoda wypisuje komunikat błędu oraz aktualny rozmiar klasy. Jest przesłonięta w każdej z klas pochodnych.
W linii 141. obiekt wyjątku jest deklarowany jako referencja. Gdy zostaje wywołana funkcja PrintError() dla referencji do obiektu, polimorfizm powoduje, że zostaje wywołana metoda właściwej klasy. Dzięki temu kod jest bardziej przejrzysty, łatwiejszy do zrozumienia i dużo łatwiejszy w konserwacji.

Random Posts




You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply