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

外文名

dynamic binding

別名

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

基本介紹

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

定義:

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

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

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

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

調用方式:

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

例如: