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

外文名

dynamic binding

別名

動(dòng)態(tài)綁定

基本介紹

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

定義:

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

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

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

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

調(diào)用方式:

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

例如: