动态联编
发表时间:2006-05-20 18:01:33 发布人:administrator 阅读次数:6494
动态联编
面向对象程序设计的基本观点是用程式来仿真大千世界,这使得它的各种根本特性非
常人性化,如封装、继承、多态等等,而虚拟函数就是 c++中实现多态性的主将。为
了实现多态性,c++编译器也革命性地提供了动态联编(或叫晚捆绑)这一特征。
虚拟函数亦是 mfc 编程的关键所在,mfc 编程主要有两种方法:一是响应各种消
息,进行对应的消息处理。二就是重载并改写虚拟函数,来实现自己的某些要求或改
变系统的某些默认处理。
虚函数的地位是如此的重要,对它进行穷根究底,力求能知其然并知其所以然 对
我们编程能力的提高大有好处。下面且听我道来。
多态性和动态联编的实现过程分析
一、基础略提(限于篇幅,请参阅相应的 c++书籍):
1、多态性:使用基础类的指针动态调用其派生类中函数的特性。
2、动态联编:在运行阶段,才将函数的调用与对应的函数体进行连接的方式,又
叫运行时联编或晚捆绑。
二、过程描述:
1、编译器发现一个类中有虚函数,编译器会立即为此类生成虚拟函数表
vtable(后面有对 vtable 的分析)。虚拟函数表的各表项为指向对应虚拟函数的指
评论0