Dziedziczenie (C++)

W tej sekcji wyjaśniono, jak używać klas pochodnych do tworzenia rozszerzalnych programów.

Omówienie

Nowe klasy mogą pochodzić z istniejących klas przy użyciu mechanizmu o nazwie "dziedziczenie" (zobacz informacje rozpoczynające się od pojedynczego dziedziczenia). Klasy używane do wyprowadzania są nazywane "klasami bazowymi" określonej klasy pochodnej. Klasa pochodna jest deklarowana przy użyciu następującej składni:

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

Po tagu (nazwie) dla klasy zostanie wyświetlony dwukropek, po którym znajduje się lista specyfikacji podstawowych. Klasy bazowe tak nazwane muszą być wcześniej zadeklarowane. Specyfikacje podstawowe mogą zawierać specyfikator dostępu, który jest jednym ze słów kluczowych publiclub protectedprivate. Te specyfikatory dostępu są wyświetlane przed nazwą klasy bazowej i mają zastosowanie tylko do tej klasy bazowej. Te specyfikatory kontrolują uprawnienie klasy pochodnej do używania do składowych klasy bazowej. Aby uzyskać informacje na temat dostępu do składowych klas bazowych, zobacz Kontrola dostępu do składowych klas podstawowych. Jeśli specyfikator dostępu zostanie pominięty, dostęp do tej bazy jest uznawany za private. Specyfikacje podstawowe mogą zawierać słowo kluczowe virtual wskazujące dziedziczenie wirtualne. To słowo kluczowe może pojawić się przed specyfikatorem dostępu lub po nim, jeśli istnieje. Jeśli jest używane dziedziczenie wirtualne, klasa bazowa jest nazywana wirtualną klasą bazową.

Można określić wiele klas bazowych rozdzielonych przecinkami. Jeśli zostanie określona pojedyncza klasa bazowa, model dziedziczenia to Pojedyncze dziedziczenie. Jeśli określono więcej niż jedną klasę bazową, model dziedziczenia nosi nazwę Wiele dziedziczenia.

Dostępne są następujące tematy:

Słowa kluczowe __super i __interface są udokumentowane w tej sekcji.

Zobacz też

Dokumentacja języka C++