C 11 引入了「override」關鍵字,這引發了人們對其真正目的的質疑,而不僅僅是冗餘。它只是用作檢查基底類別中重寫的虛擬方法,還是提供更深層的功能?
答案在於顯式意圖的想法。透過使用“覆蓋”,您可以明確聲明您打算覆蓋基底類別中的虛擬函數,從而消除出現無提示錯誤的可能性。例如,如果您打算使用衍生類別「Derived」中的簽章「virtual int foo() const」重寫基底類別「Base」中的虛擬函數,但無意中省略了「const」限定符,則程式碼仍會編譯沒有問題。
但是,在衍生類別中引入「override」作為「virtual int foo() override」會觸發編譯器錯誤,提醒您注意差異並防止不正確的行為。這種機制可確保您的程式碼準確反映您的意圖,從而提高清晰度和可靠性。
以上是為什麼「override」關鍵字在 C 11 中不僅僅是一個冗餘?的詳細內容。更多資訊請關注PHP中文網其他相關文章!