Freigeben über


final-Bezeichner

Sie können das final-Schlüsselwort verwenden, um virtuelle Funktionen festzulegen, die nicht in einer abgeleiteten Klasse überschrieben werden können.Sie können sie auch verwenden, um Klassen festzulegen, die nicht geerbt werden können.

function-declaration final;

class class-name final base-classes

Hinweise

final ist kontextbezogen und ist eine besondere Bedeutung, wenn sie nach einer Funktionsdeklaration oder einem Klassennamen verwendet hat, Andernfalls ist 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, 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 darüber, wie Sie, dass Memberfunktionen überschrieben werden können, finden Sie unter override-Bezeichner angibt.

Im folgenden Beispiel wird das final-Schlüsselwort, 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

Referenz

C++-Schlüsselwörter

override-Bezeichner

Weitere Ressourcen

C++ Type Names