final-Bezeichner
Sie können die endgültige Schlüsselwort (keyword) verwenden, um virtuelle Funktionen festzulegen, die in einer abgeleiteten Klasse nicht außer Kraft gesetzt werden können. Sie können es auch verwenden, um Klassen festzulegen, die nicht vererbbar sind.
Syntax
function-declaration final;
class class-name final base-classes
Hinweise
final ist kontextsensitiv und hat eine besondere Bedeutung nur, wenn sie nach einer Funktionsdeklaration oder einem Klassennamen verwendet wird. Andernfalls handelt es sich nicht um eine reservierte Schlüsselwort (keyword).
Wenn der Abschluss in Klassendeklarationen verwendet wird, base-classes
ist ein optionaler Teil der Deklaration.
Beispiel
Im folgenden Beispiel wird die endgültige Schlüsselwort (keyword) verwendet, um anzugeben, dass eine virtuelle Funktion nicht außer Kraft gesetzt werden kann.
class BaseClass
{
virtual void func() final;
};
class DerivedClass: public BaseClass
{
virtual void func(); // compiler error: attempting to
// override a final function
};
Informationen zum Angeben, dass Memberfunktionen überschrieben werden können, finden Sie unter Außerkraftsetzung des Bezeichners.
Im nächsten Beispiel wird die endgültige Schlüsselwort (keyword) verwendet, um anzugeben, dass eine Klasse nicht geerbt werden kann.
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für