1. 程式人生 > >C++ 靜態聯編與動態聯編

C++ 靜態聯編與動態聯編

靜態聯編和動態聯編

1、聯編是指一個程式模組、程式碼之間互相關聯的過程。
2、靜態聯編(static binding),是程式的匹配、連線在編譯階段實現,也稱為早期匹配。
過載函式使用靜態聯編。
3、動態聯編是指程式聯編推遲到執行時進行,所以又稱為晚期聯編(遲繫結)。
switch 語句和 if 語句是動態聯編的例子。

1、C++與C相同,是靜態編譯型語言
2、在編譯時,編譯器自動根據指標的型別判斷指向的是一個什麼樣的物件;所以編譯器認為父類指標指向的是父類物件。
3、由於程式沒有執行,所以不可能知道父類指標指向的具體是父類物件還是子類物件
從程式安全的角度,編譯器假設父類指標只指向父類物件,因此編譯的結果為呼叫父類的成員函式。這種特性就是靜態聯編。