当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>解析动态联编(上篇)</b>[VC/C++编程]

赞助商链接



  本文“<b>解析动态联编(上篇)</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

文章择要

多态性是C++最主要的特点,多态性的实现得益于C++中的动 态联编技术.文章通过对动态联编的关键技术虚拟函数表举行深化的解析,解析 的动态联编的历程极端技术方法.

关键字

多态性 动态联编 VTABLE 虚函数

文章正文

一 从多态性谈动态联编的必要性

在进入主题之前先介绍一下联编的概念.联编就是将模块大概函数归并在一同生 成可 履行代码的处理历程,同时对每个模块大概函数调用分配内存地址,并且对 外部拜候也分配精确的内存地址.按照联编所举行的阶段差别,可分为两种差别 的联编办法:静态联编和动态联编.在编译阶段就将函数实现和函数调用关联起 来称之为静态联编,静态联编在编译阶段就必须理解全部的函数或模块履行所需 要检测的信息,它对函数的挑选是基于指向对象的指针(大概引用)的范例.反 之在程序履行的时刻才举行这种关联称之为动态联编,动态联编对成员函数的选 择不是基于指针大概引用,而是基于对象范例,差别的对象范例将做出差别的编 译后果.C语言中,全部的联编都是静态联编.C++中普通情形下联编也是静态联 编,但是一旦触及到多态性和虚函数就必须利用动态联编.

多态性是面向 对象的核心,它的最主要的思惟就是可以采取多种情势的本领,通过一个用户名 字大概用户接口完成差别的实现.普通多态性被简单的描写为"一个接口, 多个实现.在C++里面具体的表现为通过基类指针拜候派生类的函数和办法.

下面我们看一个静态联编的例子,这种静态联编招致了我们不但愿的后果 .

//1.cpp
1.#include <iostream.h>
2.class shape{
3.public:
4.void draw(){cout<<"I am shape"<<endl;}
5.void fun(){draw();}
6.};
7.class circle:public shape{
8.public:
9.void draw() {cout<<"I am circle"<<endl;}
10.};
11.main(){
12.class circle oneshape;
13.oneshape.fun();
14.}


  以上是“<b>解析动态联编(上篇)</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .