码迷,mamicode.com
首页 > 其他好文 > 详细

binding(联编)

时间:2017-06-09 23:35:08      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:size   sum   类别   引用   virtual   image   关键字   指针   ext   

联编(Binding): 确定具有多态性的语句调用哪个函数的过程。

Static Binding (静态联编) : 在程序编译时确定调用哪个函数 例:函数重载

Dynamic Binding (动态联编) :在程序运行时,才能够确定调用哪个函数

                                           用动态联编实现的多态,也称为运行时的多态

技术分享

基类定义了虚同名函数,那么派生类中的同名函数自动变为虚函数(所以可以不加virtual关键字)

 

 

动态联编的开销比静态联编大;

 

Summary: static binding v.s. dynamic binding

 

基类与派生类中有同名函数

1. 通过派生类对象访问同名函数 -> 静态联编

2. 通过基类对象的指针访问同名函数(非虚函数) -> 静态联编

3. 通过基类对象的指针访问同名虚函数 -> 动态联编

 

 

其实,按我自己的理解,根本不需要分那么多的类别。在老师总结的情况当中,只有一种情况是动态联编:

那就是 1.存在override(请见之前的随笔)

          2.基类的指针指向派生类对象/基类是派生类引用

          3.‘2.’中的指针或引用调用‘1.’中的同名虚函数函数。

 

其他都是静态联编

binding(联编)

标签:size   sum   类别   引用   virtual   image   关键字   指针   ext   

原文地址:http://www.cnblogs.com/skx971016/p/6973938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!