Конструкторы не наследуются, поэтому производный класс должен иметь собственные конструкторы.
Конструктор базового класса выполняется перед конструктором производного класса, так как базовый класс "ничего не знает" про свои производные классы.
Конструкторы вызываются в том порядке, в каком классы следуют один за другим в иерархии классов.
Деструктор производного класса вызывается перед деструктором базового класса, потому что уничтожение объекта базового класса влечет за собой уничтожение объекта производного класса.
Деструкторы не наследуются, и если в производном классе деструктор отсутствует, он формируется по умолчанию и вызывает деструкторы всех базовых классов.
Множественное наследование. Общая форма?
Существует два типа наследования:
- одиночное;
- множественное.
– при одиночном наследовании производный класс имеет только один непосредственный базовый класс (приведенный выше пример с лодками);
– при множественном наследовании производный класс может быть прямо порожден от одного или нескольких базовых классов.
Общая форма множественного наследования имеет вид:
class имя_порожденного_класса: список базовых классов
{
. . . тело класса
};