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

Dziedziczenie

Dziedziczenie umożliwia utworzenie nowego typu obiektu na podstawie już isniejącego. Jeżeli w klasie pochodnej zostaną przedefiniowane funkcje, które nie są oznaczone jako wirtualne, wszystkie metody z klasy bazowej o identycznej nazwie przestają być widoczne. class CBase { public: int f() const { return 1; } int f(int) const { return Dowiedz się więcej