為什麼虛擬建構子不是C 工具包的一部分
與許多程式語言不同,C 並沒有在其框架中包含虛擬構造函數。揭示這項設計決策背後的基本原理需要深入研究虛擬呼叫和建構函數的固有特徵。
虛擬呼叫支援基於已知介面而不是特定物件類型的函數呼叫。事實證明,這種功能對於編排多型行為非常寶貴。然而,在創建物件時,準確了解其確切類型至關重要。
C 架構師 Bjarne Stroustrup 簡潔地闡明了這個概念:「虛擬呼叫是一種在給定部分資訊的情況下完成工作的機制。 .. 要創建對象,您需要完整的資訊.. .因此,「對建構子的呼叫」不能是虛擬的。上述常見問題解答條目提出了一種模擬虛擬建構函數行為的實用方法,而無需訴諸其明確實作。
以上是為什麼C沒有虛擬建構函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!