簡體   English   中英

C ++動態綁定

[英]C++ dynamic binding

C ++如何實現動態綁定以及靜態類型?

當您有一個指向對象的指針時,該對象實際上可能是從該指針的類派生的類(例如,實際上指向Car對象的Vehicle *;這被稱為“多態”)。 因此,有兩種類型:指針的(靜態)類型(在這種情況下,為車輛)和指向對象的(動態)類型(在這種情況下,為Car)。

靜態類型化意味着成員函數調用的合法性要盡早檢查:由編譯器在編譯時檢查。 編譯器使用指針的靜態類型來確定成員函數調用是否合法。 如果指針的類型可以處理成員函數,則指向對象的對象當然也可以處理它。 例如,如果Vehicle具有某種成員功能,那么Car當然也具有該成員功能,因為Car是一種車輛。

動態綁定意味着成員函數調用中的代碼地址是在最后可能的時刻確定的:基於運行時對象的動態類型。 之所以稱為“動態綁定”,是因為與實際調用的代碼的綁定是動態(在運行時)完成的。 動態綁定是虛擬功能的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM