final 規範
您可以使用 final 關鍵字來指定無法在衍生類別中覆寫的虛擬函式。 您也可以用它來指定無法被繼承的類別。
語法
function-declaration final;
class class-name final base-classes
備註
final 會區分內容,且只有在函式宣告或類別名稱之後才有特殊意義;否則,它不是保留關鍵字。
在類別宣告中使用 final 時 , base-classes
是宣告的選擇性部分。
範例
下列範例會 使用 final 關鍵字來指定無法覆寫虛擬函式。
class BaseClass
{
virtual void func() final;
};
class DerivedClass: public BaseClass
{
virtual void func(); // compiler error: attempting to
// override a final function
};
如需如何指定可覆寫成員函式的資訊,請參閱 覆寫規範 。
下一個範例會 使用 final 關鍵字來指定無法繼承類別。
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應