Механизм наследования позволяет определять новые классы на основе уже имеющихся. Класс, на основе которого создается новый класс, называют базовым (родительским), а новый – производным (наследником). При наследовании важную роль играет статус доступа к компонентам класса.
Используются следующие соглашения:
– private-компоненты доступны только внутри того класса, в котором они определены;
– protected-компоненты доступны внутри того класса, в котором они определены, а также во всех производных классах;
– public-компоненты видны во всех частях программы.
При описании можно изменить статус доступа к наследуемым компонентам (только в направлении ужесточения). Формат описания производного класса с единичным наследованием имеет вид:
class имя_производного_класса: [модификатор] имя_базового_класса
{компоненты_производного_класса};
В качестве модификатора могут использоваться ключевые слова private, protected, public. Статусы доступа производных классов приведены ниже в таблице.

Пример:
class Circle: public Point
{
// элементы производного класса Circle
}
В данном случае мы получаем при использовании класса Circle доступ к элементам класса Point.
Формат описания производного класса с множественным наследованием имеет вид:
class имя_производного_класса: [модификатор] имя_базового_класса_1,…,
[модификатор] имя_базового_класса_n
{компоненты_производного_класса};