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
};

如需如何指定的成員資訊可以覆寫函式,請參閱 override 規範

下面的範例會使用 final 關鍵字則指定類別無法被繼承。

class BaseClass final 
{
};

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

請參閱

參考

C + + 關鍵字

override 規範

其他資源

C++ Type Names