Freigeben über


final-Bezeichner

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
{
};

Siehe auch

Referenz

C++-Schlüsselwörter

override-Bezeichner

Weitere Ressourcen

C++ Type Names