編譯程序在編譯階段并不能確切知道將要調(diào)用的函數(shù),只有在程序執(zhí)行時才能確定將要調(diào)用的函數(shù),為此要確切知道該調(diào)用的函數(shù),要求聯(lián)編工作要在程序運行時進(jìn)行,這種在程序運行時進(jìn)行聯(lián)編工作被稱為動態(tài)聯(lián)編。在運行階段,才將函數(shù)的調(diào)用與對應(yīng)的函數(shù)體進(jìn)行連接的方式,又叫運行時聯(lián)編或晚捆綁。

外文名

dynamic binding

別名

動態(tài)綁定

基本介紹

動態(tài)聯(lián)編又稱動態(tài)關(guān)聯(lián)

定義:

編譯程序在編譯階段并不能確切知道將要調(diào)用的函數(shù),只有在程序運行時才能確定將要調(diào)用的函數(shù),為此要確切知道該調(diào)用的函數(shù),要求聯(lián)編工作要在程序運行時進(jìn)行,這種在程序運行時進(jìn)行聯(lián)編工作被稱為動態(tài)聯(lián)編。

動態(tài)聯(lián)編必須包括以下方面:

(1)成員函數(shù)必須聲明為virtual

(2)如果基類中聲明了為虛函數(shù),則派生類中不必再聲明。

調(diào)用方式:

通過對象的指針或引用調(diào)用成員函數(shù);或通過成員函數(shù)調(diào)用,反之就無法實現(xiàn)動態(tài)聯(lián)編。

例如: