Sdílet prostřednictvím


final – specifikátor

Klíčové slovo final lze použít pro označení virtuálních funkcí, které nelze v odvozené třídě přepsat.Lze jej také použít k označení tříd, ze kterých nelze dědit.

function-declaration final;

class class-name final base-classes

Poznámky

final je kontextový a má zvláštní význam pouze v případě, že se používá po deklaraci funkce nebo názvu třídy, v ostatních případech to není rezervované klíčové slovo.

Když je klíčové slovo final použito v deklaracích třídy, je base-classes volitelná část deklarace.

Příklad

V následujícím příkladu je klíčové slovo final použito pro určení, že virtuální funkci nelze přepsat.

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

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

Informace o tom, jak určit, zda lze členské funkce přepsat, naleznete v tématu override – specifikátor.

Následující příklad používá klíčové slovo final pro určení, že ze třídy nelze dědit.

class BaseClass final 
{
};

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

Viz také

Referenční dokumentace

Klíčová slova jazyka C++

override – specifikátor

Další zdroje

C++ Type Names