2013年12月31日

C++的动态联编与静态联编【转载】

摘要: 【摘要】:本文阐述了静态联编和动态联编的概念和区别,通过具体实例分析了实现动态联编的条件,指出了虚函数是实现动态联编的基础。【关键词】:静态联编;动态联编;虚函数在C++中,联编是指一个计算机程序的不同部分彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。 1.静态联编 静态联编是指联编工作在编译阶段完成的,这种联编过程是在程序运行之前完成的,又称为早期联编。要实现静态联编,在编译阶段就必须确定程序中的操作调用(如函数调用)与执行该操作代码间的关系,确定这种关系称为束定,在编译时的束定称为静态束定。静态联编对函数的选择是基于指向对象的指针或者引用的类型。. 阅读全文

posted @ 2013-12-31 13:43 google_yep 阅读(279) 评论(0) 推荐(0) 编辑

关于虚析构函数

摘要: 关于虚析构函数 在C++中,不能声明虚构造函数,但可以声明虚析构函数。多态性是指不同的对象对同一消息有不同的行为特性。虚函数作为运行时多态性的基础,主要是针对对象的,而构造函数是在对象产生之前运行的,因此虚构造函数是没有意义的。析构函数的功能是在该类对象消亡之前进行一些必要的清理工作,析构函数最好都是virtual的。首先解释一下虚构函数和指针之间是如何交互的,以及虚析构函数的具体含义。例如以下代码,其中SomeClass是含有非virtual析构函数的一个类:SomeClass *p= new SomeClass;. . .. . .delect p;为p调用delect时,会自动调用S.. 阅读全文

posted @ 2013-12-31 11:59 google_yep 阅读(262) 评论(0) 推荐(0) 编辑

虚析构函数的使用(转载!)

摘要: ////////////////////////////////////////////////////////////////////////////////#if CODE1#include//给出一个没有虚拟析构函数的基类classBase{public: Base() { std::cout//给出一个没有虚拟析构函数的基类classBase{public: Base() { std::cout//给出一个有虚拟析构函数的基类classBase{public: Base() { std::cout//给出一个有虚拟析构函数的基类classBase{public: Base() { st 阅读全文

posted @ 2013-12-31 10:19 google_yep 阅读(175) 评论(0) 推荐(0) 编辑

导航