Иерархия классов
Производный класс сам в свою очередь может быть базовым классом:
class employee { /* ... */ };
class manager : public employee { /* ... */ };
class director : public manager { /* ... */ };
Такое множество связанных между собой классов обычно называют иерархией классов. Обычно она представляется деревом, но бывают иерархии с более общей структурой в виде графа:
class temporary { /* ... */ };
class secretary : public employee { /* ... */ };
class tsec
: public temporary, public secretary { /* ... */ };
class consultant
: public temporary, public manager { /* ... */ };
Видим, что классы в С++ могут образовывать направленный ацикличный граф (подробнее об этом говорится в $$6.5.3). Этот граф для приведенных классов имеет вид: