Vererbung (C++)

In diesem Abschnitt wird beschrieben, wie abgeleitete Klassen verwendet werden, um erweiterbare Programme zu erzeugen.

Überblick

Neue Klassen können mithilfe eines Mechanismus namens "Vererbung" von vorhandenen Klassen abgeleitet werden (siehe Informationen, die mit der einzelnen Vererbung beginnen). Klassen, die zur Ableitung verwendet werden, werden als "Basisklassen" einer bestimmten abgeleiteten Klasse bezeichnet. Eine abgeleitete Klasse wird mit der folgenden Syntax deklariert:

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

Nach dem Tag für die Klasse wird ein Doppelpunkt gefolgt von einer Liste mit grundlegenden Spezifikationen angezeigt. Die sogenannten Basisklassen müssen zuvor deklariert werden. Die Basisspezifikationen können einen Zugriffsbezeichner enthalten, der eines der Schlüsselwort (keyword) ist publicoder protectedprivate. Diese Zugriffsspezifizierer werden vor dem Basisklassennamen angezeigt und gelten nur für diese Basisklasse. Diese Spezifizierer steuern die Berechtigung der abgeleiteten Klasse, die für Member der Basisklasse zu verwenden sind. Informationen zum Zugriff auf Basisklassenmember finden Sie unter "Member-Access Control" . Wenn der Zugriffsbezeichner ausgelassen wird, wird der Zugriff auf diese Basis berücksichtigt private. Die Basisspezifikationen können die Schlüsselwort (keyword) virtual enthalten, um die virtuelle Vererbung anzugeben. Dieses Schlüsselwort kann vor oder nach dem Zugriffsspezifizierer angezeigt werden, falls vorhanden. Wenn virtuelle Vererbung verwendet wird, wird die Basisklasse als virtuelle Basisklasse bezeichnet.

Es können mehrere durch Kommas getrennte Basisklasse angegeben werden. Wenn eine einzelne Basisklasse angegeben wird, ist das Vererbungsmodell eine einzelne Vererbung. Wenn mehr als eine Basisklasse angegeben wird, wird das Vererbungsmodell als Mehrfachvererbung bezeichnet.

Die folgenden Themen werden behandelt:

Die __super und __interface Schlüsselwort (keyword) sind in diesem Abschnitt dokumentiert.

Siehe auch

C++-Programmiersprachenreferenz