C++11 #8: Przeciążanie funkcji wirtualnych: specyfikator final.

Specyfikator final.

W poprzednim wpisie z serii C++11 opisałem specyfikator override. Niejako w parze z nim występuje specyfikator final, który również odnosi się do przeciążania funkcji wirtualnych w klasach pochodnych.

Mówiąc krótko: jeśli nie chcemy, żeby funkcja wirtualna była dalej przeciążana (w kolejnych klasach pochodnych w hierarchii), możemy użyć słowa final w deklaracji funkcji – dokładnie tak samo, jak wykorzystujemy override.

Czytaj więcej...

C++ Core Guidelines #1: C++ Core Guidelines.

C++ Core Guidelines.

C++ Core Guidelines – co to jest ? Cóż… Po pierwsze –  nowa seria artykułów na blogu. Jest to więc temat, którym warto się poważniej zainteresować – a przynajmniej ja go za taki uważam.

C++ Core Guidelines jest projektem, wystartowanym przez Bjarne Stroustrup’a (tego pana powinniście kojarzyć 🙂 ) i prowadzonym z pomocą Herb’a Sutter’a (też bardzo znany zawodnik 🙂 ).

Czytaj więcej...

C++11 #7: Przeciążanie funkcji wirtualnych: specyfikator override.


Do każdego aspektu języka, z którego korzystamy, możemy mieć mniejsze lub większe uwagi. Oczywiście również posiadam swoją subiektywną listę niedociągnięć, jeśli chodzi o język C++.

Pomimo tego, że bardzo docieniam polimorfizm i sposób zaimplementowania tego mechanizmu, za niedopracowane uważam kwestie związane z dziedziczeniem i wykorzystaniem funkcji wirtualnych w C++.

Czytaj więcej...