C++中的静态绑定和动态绑定

jia36963tw 14 0 PDF 2020-12-23 02:12:15

C++在面向对象编程中,存在着静态绑定和动态绑定的定义,本节即是主要讲述这两点区分。 我是在一个类的继承体系中分析的,因此下面所说的对象一般是指一个类的实例。 首先我们需要明确几个名词定义: 静态类型:对象在声明时采用的类型,在编译期既已确定; 动态类型:通常是指一个指针或引用目前所指对象的类型,是在运行期决定的; 静态绑定:绑定的是静态类型,所对应的函数或属性依赖于对象的静态类型,发生在编译期; 动态绑定:绑定的是动态类型,所对应的函数或属性依赖于对象的动态类型,发生在运行期; 从上面的定义也可以看出,非虚函数一般都是静态绑定,而虚函数都是动态绑定(

用户评论
请输入评论内容
评分:
暂无评论