Бьерн Страуструп.
Язык программирования С++
153
{
next = list;
list = this;
}
Здесь list должен быть описан как статический член employee.
Объекты классов создаются снизу вверх: вначале базовые, затем члены и, наконец, сами производные
классы. Уничтожаются они в обратном порядке: сначала
сами производные классы, затем члены, а
затем базовые. Члены и базовые создаются в
порядке описания их в классе, а
уничтожаются они в
обратном порядке.
6.2.3 Иерархия классов
Производный класс сам в свою очередь может быть базовым классом:
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). Этот граф для приведенных классов имеет вид:
Достарыңызбен бөлісу: