final – specifikátor
Konečné klíčové slovo můžete použít k určení virtuálních funkcí, které nelze přepsat v odvozené třídě. Lze jej také použít k označení tříd, ze kterých nelze dědit.
Syntaxe
function-declaration final;
class class-name final base-classes
Poznámky
final je kontextově citlivý a má zvláštní význam pouze v případě, že se používá po deklaraci funkce nebo názvu třídy. V opačném případě se nejedná o vyhrazené klíčové slovo.
Pokud je v deklaracích tříd použita konečná , base-classes
je volitelná část deklarace.
Příklad
Následující příklad používá konečné klíčové slovo k 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, že členské funkce lze přepsat, naleznete v tématu přepsání specifikátoru.
Další příklad používá konečné klíčové slovo k určení, že třídu nelze zdědit.
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro