当用ATL向导来创建一个接口的时候,向导会让我们选择Dual或者Custom.
那么它们到底有什么分别呢?
Dual
鼠标移上去,其实是有个说明的。下面的截图没有显示后面的一些文字,
实际意思是说这个接口同时支持IDispatch方式和vtable方式,这大概也就是双接口(Dual)名字的来源。
vtable调用方式,指的是直接通过接口指针的虚函数表。比如
CComPtr spCar;...
分类:
其他好文 时间:
2014-09-24 13:02:26
阅读次数:
222
面向对象和基于对象的区别是多态,和继承无关。 基于对象仅仅支持了抽象数据类型的功能,继承也不过体现了一种is-a的关系,也是抽象数据类型,只是建立了一个层次体系。但是什么是面向对象呢?就是根据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式。换句话说,也就是虚函数实现的多态。以....
分类:
其他好文 时间:
2014-09-24 03:28:25
阅读次数:
219
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类: class ClxBase
{
public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomet...
分类:
编程语言 时间:
2014-09-23 21:07:15
阅读次数:
186
??
【项目3】设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义基类的指针p(CSolid *p;),利用p指针,输出正方体、球体及圆柱体对象的表面积及体积
程序代码
#include
using namespace std;
class Shape//...
分类:
其他好文 时间:
2014-09-23 01:20:43
阅读次数:
395
#类中的元素0.成员变量 1.成员函数 2.静态成员变量 3.静态成员函数 4.虚函数 5.纯虚函数#影响对象大小的因素0.成员变量 1.虚函数表指针(_vftptr) 2.虚基类表指针(_vbtptr) 3.内存对齐_vftptr、_vbtptr的初始化由对象的构造函数, 赋值运算符自动完成;对....
分类:
其他好文 时间:
2014-09-21 14:35:00
阅读次数:
360
转自 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html第一种情况:#include using namespace std;class ClxBase{public: ClxBase() {coutDoSomething(); dele...
分类:
编程语言 时间:
2014-09-19 20:51:16
阅读次数:
275
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
//从设计角度考量,通常将子类中共有的但却容易变化的特征抽取为虚函数在父类中定义,而在子类中通过覆写来重新实现其操作。
class A
{
publi...
分类:
其他好文 时间:
2014-09-19 17:39:45
阅读次数:
148
虚函数virtual表示动态继承,通过vptr指针指向vtable虚表,虚表中保存了每个虚函数的地址。通过父类指针在运行时绑定子类方法。虚继承:有几个父类,就有几个vtab和vptr定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必...
分类:
编程语言 时间:
2014-09-18 22:10:44
阅读次数:
237
C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这样的技术能够让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说...
分类:
编程语言 时间:
2014-09-18 18:23:24
阅读次数:
232
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数?普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2、为什么C++不支持构造函数...
分类:
编程语言 时间:
2014-09-17 18:07:52
阅读次数:
241