Pytanie 37
Co zostanie wyświetlone po wykonaniu przedstawionego kodu C++?
class KlasaBazowa {
public:
virtual void metoda() {
cout << "Bazowa. ";
}
};
class KlasaPochodna : public KlasaBazowa {
public:
void metoda() {
cout << "Pochodna. ";
}
};
int main() {
KlasaBazowa *bazowa = new KlasaPochodna();
KlasaPochodna *pochodna = new KlasaPochodna();
bazowa->metoda();
pochodna->metoda();
return 0;
}
Dlaczego ta odpowiedź?
Dzięki polimorfizmowi i użyciu wskaźnika do KlasaPochodna przez wskaźnik typu KlasaBazowa zostanie wywołana metoda z klasy pochodnej.