Polimorfizm

Polimorfizm stanowi fundamentalną właściwość programowania obiektowego. Tworzy nowy wymiar oddzielenia interfejsu od implementacji. Rozgranicza pojęcie co może, a czego nie może klient-programista od tego jak.

Funkcje wirtualne

Funkcje wirtualne, które deklarowane są w typie obiektu za pomocą słowa kluczowego virtual, wywoływane są (wiązanie, binding) w trakcie wykonywania programu – późne wiązanie (late binding, dynamic binding, runtime binding). Kompilator dla każdej klasy tworzy pojedynczą tablicę VTABLE. Umieszczane są w niej adresy funkcji wirtualnych. Dodatkowym elementem klasy zawierającej funkcje Dowiedz się więcej

Przeciążanie operatorów

Inkrementacja Operatory inkrementacyjne: przyrostkowy i przedrostkowy muszą zwracać stały obiekt, celem uniknięcia podwójnej operacji. Przyrostek C& C::operator++() { ++member; return *this; } Przedrostek const C& C::operator++(int) { C tmp(*this); ++member; return *tmp; } Przypisanie Operator musi sprawdzać, czy po prawej stronie nie jest ten sam obiekt dla którego dokonuje się Dowiedz się więcej