A derived class with multilevel inheritance is declared as follows:<syntaxhighlight lang="cpp">Class A(...); //Base classClass B : public A(...); //B derived from AClass C : public B(...); //C derived from B</syntaxhighlight>This process can be extended to any number of levels.
Одним из основных преимуществ public-наследования является то, что указатель на классы-наследники может быть неявно преобразован в указатель на базовый класс, то есть для примера выше можно написать:Эта интересная особенность открывает возможность динамической идентификации типа (RTTI).