编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。在运行阶段,才将函数的调用与对应的函数体进行连接的方式,又叫运行时联编或晚捆绑。

外文名

dynamic binding

别名

动态绑定

基本介绍

动态联编又称动态关联

定义:

编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序运行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。

动态联编必须包括以下方面:

(1)成员函数必须声明为virtual

(2)如果基类中声明了为虚函数,则派生类中不必再声明。

调用方式:

通过对象的指针或引用调用成员函数;或通过成员函数调用,反之就无法实现动态联编。

例如: