При простом наследовании производный класс наследует один предшествующий ему по иерархии базовый или промежуточный базовый класс. Схематично простое наследование будет иметь вид:
Синтаксис описания производного класса при простом наследовании:
class имя_производного_класса: ключ_доступа имя_базового_класса { };
Пример:
classA {private: int a;
public:A (intk) {a = k;} // Конструктор
};
class B: publicA
{private: int b, c;
public: B (int i, int j):A (j) {с = i; b = j; } // Конструктору предшествующего базового
// класса передается параметр j
// (используется список инициализации )
};
B ob(10,15);
В результате инициализации глобального объекта ob его элементы-данные будут иметь значения:
а = 15; b = 15; c = 10.
Если при создании объектов осуществляется инициализация компонентных данных (конструкторы с параметрами), то при создании производного класса должна быть предусмотрена последовательная передача всех аргументов всем инициализирующим конструкторам. При этом в конструкторе производного класса обеспечивается передача все параметров конструктору наследуемого класса, который в свою очередь передает параметры далее вверх по схеме наследования.
Конструкторы вызываются последовательно в порядке наследования. Деструкторы – в обратном порядке.