在C++中,override
關鍵字用于顯式地指示一個成員函數是覆蓋(override)基類中的虛函數。它的使用方法如下:
virtual
。class Base {
public:
virtual void foo();
};
override
關鍵字。class Derived : public Base {
public:
void foo() override;
};
請注意,使用override
關鍵字的函數聲明必須滿足以下條件:
函數名、參數列表和const限定符(如果有)必須與基類中的虛函數完全匹配。
如果在基類中的虛函數聲明中使用了const
限定符,那么在派生類中的重寫函數聲明也必須使用const
限定符。
如果在基類中的虛函數聲明中使用了final
關鍵字標記函數為最終函數,那么在派生類中不可以使用override
關鍵字來覆蓋該函數。
使用override
關鍵字可以提高代碼的可讀性,并幫助編譯器在派生類中檢查是否正確地覆蓋了基類中的虛函數。如果在派生類中使用了override
關鍵字,但是該函數并沒有覆蓋基類中的虛函數,編譯器會發出錯誤提示。