Ostatnio przegladaj rozne pliki zrodlowe zauwazylem niepokojaca mnie rzecz. Mianowicie czym rozni sie:
class base
{
public:
virtual void pokaz()
{
cout << "obiekt klasy 'base'" << endl;
}
};
class derived : public base
{
public:
void pokaz()
{
cout << "obiekt klasy 'derived'" << endl;
}
};
od tego gdyby przy dervied::pokaz() stalo by slowko virtual. Kiedys w pewnej ksiazce czytalem ze zasloniloby to mechanizm polimorfizmu. Teraz widze ze stosowane jest to w prawie kazdym kodzie.
Do tego mozna dodac ze w przykladowym kodzie w wikipedii w funkcji w klasie pochodnej stoi rowniez slowko virtual.