Sdílet prostřednictvím


final – specifikátor

Můžete použít final Chcete-li nastavit virtuální funkce, které nemůže být přepsána v odvozené třídě.Lze je také použít k označení třídy, které nemůžou být zděděny.

function-declaration final;

class class-name final base-classes

Poznámky

finalzávisí na kontextu a má zvláštní význam pouze v případě, že se používá po deklaraci funkce nebo název třídy; v opačném případě není vyhrazené klíčové slovo.

Při final se používá v deklarace třídy base-classes je volitelná součást celního prohlášení.

Příklad

Následující příklad používá final klíčové slovo, chcete-li určit, že virtuální funkce nemůže být přepsáno.

class BaseClass
{
    virtual void func() final;
};

class DerivedClass: public BaseClass
{
    virtual void func(); // compiler error: attempting to 
                         // override a final function
};

Chcete-li zobrazit informace o tom, jak určit, zda lze přepsat členské funkce, viz override – specifikátor.

V dalším příkladu final klíčové slovo, které nemůžou být zděděny třídy.

class BaseClass final 
{
};

class DerivedClass: public BaseClass // compiler error: BaseClass is 
                                     // marked as non-inheritable
{
};

Viz také

Referenční dokumentace

Klíčových slov jazyka C++

override – specifikátor

Další zdroje

C++ Type Names