首頁 >後端開發 >C++ >重寫後如何在 C 中呼叫基底類別的虛函數?

重寫後如何在 C 中呼叫基底類別的虛函數?

DDD
DDD原創
2024-12-05 11:22:10990瀏覽

How Do I Call a Base Class's Virtual Function in C   After Overriding It?

重寫後呼叫C 中基類的虛函數

在軟體開發中,常常會遇到需要呼叫基底類別的場景類別的函數來自衍生類,即使您已經重寫了該函數。在 C 中,與 Java 不同,您不能使用簡單的 super.funcname() 語法來實現此目的。

考慮以下程式碼片段:

在此範例中,Bar 繼承自 Foo並覆寫 printStuff() 函數。但是,您可能想要在某些上下文中保留 Foo::printStuff() 的原始功能。

要在 C 中呼叫基底類別的 printStuff() 函數,您必須使用 :: 明確命名基底類別操作員。具體方法如下:

在此修改後的程式碼中,在重寫的 Bar::printStuff() 函數中呼叫 Foo::printStuff() 基底類別函數。 override 關鍵字幫助編譯器驗證函數確實重寫了基底類別函數。

透過明確呼叫基底類別函數,您可以靈活地使用 printStuff() 的基底類別和衍生類別實作。這在各種場景中都很有用,例如在重寫實作之前或之後呼叫原始函數來執行常見任務。

以上是重寫後如何在 C 中呼叫基底類別的虛函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn