首頁 > 後端開發 > C++ > 為什麼C沒有虛擬建構函數?

為什麼C沒有虛擬建構函數?

DDD
發布: 2024-11-22 09:58:10
原創
790 人瀏覽過

Why Doesn't C   Have Virtual Constructors?

為什麼虛擬建構子不是C 工具包的一部分

與許多程式語言不同,C 並沒有在其框架中包含虛擬構造函數。揭示這項設計決策背後的基本原理需要深入研究虛擬呼叫和建構函數的固有特徵。

虛擬呼叫支援基於已知介面而不是特定物件類型的函數呼叫。事實證明,這種功能對於編排多型行為非常寶貴。然而,在創建物件時,準確了解其確切類型至關重要。

C 架構師 Bjarne Stroustrup 簡潔地闡明了這個概念:「虛擬呼叫是一種在給定部分資訊的情況下完成工作的機制。 .. 要創建對象,您需要完整的資訊.. .因此,「對建構子的呼叫」不能是虛擬的。上述常見問題解答條目提出了一種模擬虛擬建構函數行為的實用方法,而無需訴諸其明確實作。

以上是為什麼C沒有虛擬建構函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板