Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie das final-Schlüsselwort, um virtuelle Funktionen festzulegen, die in einer abgeleiteten Klasse nicht überschreibbar sind. Sie können es auch verwenden, um Klassen festzulegen, die nicht vererbbar sind.
function-declaration final;
class class-name final base-classes
Hinweise
final ist kontextbezogen und hat nur dann eine besondere Bedeutung, wenn es nach der Deklaration einer Funktion oder eines Klassennamens verwendet wird; andernfalls ist es kein reserviertes Schlüsselwort.
Wenn final in den Klassendeklarationen verwendet wird, ist base-classes ein optionaler Teil der Deklaration.
Beispiel
Im folgenden Beispiel wird das final-Schlüsselwort verwendet, um anzugeben, dass eine virtuelle Funktion nicht überschrieben werden kann.
class BaseClass
{
virtual void func() final;
};
class DerivedClass: public BaseClass
{
virtual void func(); // compiler error: attempting to
// override a final function
};
Informationen dazu, wie Sie angeben, dass Memberfunktionen überschrieben werden können, finden Sie unter override-Bezeichner.
Im folgenden Beispiel wird das final-Schlüsselwort verwendet, um anzugeben, dass eine Klasse nicht vererbt werden kann.
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};