Наследование (C++)

В этом разделе рассматривается использование производных классов для создания расширяемых программ.

Обзор

Новые классы могут быть производными от существующих классов с помощью механизма с именем "наследование" (см. сведения, начинающиеся в одном наследовании). Классы, используемые для наследования, называются "базовыми классами" определенного производного класса. Производный класс объявляется с помощью следующего синтаксиса:

class Derived : [virtual] [access-specifier] Base
{
   // member list
};
class Derived : [virtual] [access-specifier] Base1,
   [virtual] [access-specifier] Base2, . . .
{
   // member list
};

После тега (имени) класса следует двоеточие и список базовых спецификаций. Названные таким образом базовые классы, вероятно, были объявлены ранее. Базовые спецификации могут содержать описатель доступа, который является одним из ключевое слово publicили protectedprivate. Эти описатели доступа отображаются перед именем базового класса и применяются только к базовому классу. Эти описатели контролируют разрешение производного класса на использование членов базового класса. Сведения о доступе к элементам базового класса см. в разделе "Член-контроль доступа". Если описатель доступа опущен, считается, что доступ к этой базе считается private. Базовые спецификации могут содержать ключевое слово virtual для указания виртуального наследования. Это ключевое слово может отображаться до или после описателя доступа, если таковые имеются. Если используется виртуальное наследование, базовый класс называется виртуальным базовым классом.

Можно определить несколько базовых классов, разделив их запятыми. Если указан один базовый класс, модель наследования является одним наследованием. Если указано несколько базовых классов, модель наследования называется множественным наследованием.

В этой статье содержатся следующие разделы:

В этом разделе описаны __super и __interface ключевое слово.

См. также

Справочник по языку C++