下面来看看虚基类对对象内存布局的影响。虚基类的主要作用就是在所有的派生类中,保留且仅保留一份虚基类的suboject。#include using namespace std;class Base{public: int m_base; Base():m_base(20){} vi...
分类:
其他好文 时间:
2014-11-12 22:35:12
阅读次数:
301
设计模式之代理模式Demo如下:定义一个虚基类,声明三个纯虚函数,我定义一个Person类Person.h定义一个Student类来继承这个Person类,并实现相应的虚函数Student.hStudent.cpp定义一个代理类Delegate,同时继承自Person类Delegate.cppmai...
分类:
其他好文 时间:
2014-11-11 22:33:48
阅读次数:
281
场景:CCScene,继承自CCNode,几乎完全等于CCNode类CCNode继承自CCObject,CCObject是真正意义上的父类,CCObject又继承自CCCopying类,CCCopying的只是定义接口,完全虚基类CCObject主要定义了两方面的内容:1.是有内存管理有关的东西,如...
分类:
其他好文 时间:
2014-11-11 16:04:03
阅读次数:
331
/*串口基础类库(WIN32)ver0.1编译器:BC++5;C++BUILDER4,5,6,X;VC++5,6;VC.NET;GCC;class_base_com:虚基类基本串口接口;class_aync_com:同步I/O串口类;class_sync_com:异步I/O串口类;class_thread_com:异步I/O辅助读监视线程可转发窗口消息串口类(可继承虚函数on_receive用于..
分类:
其他好文 时间:
2014-11-10 15:50:14
阅读次数:
138
一、背景知识(一些基本概念)虚函数(Virtual Function):在基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数。纯虚函数(Pure Virtual Function):基类中没有实现体的虚函数称为纯虚函数(有纯虚函数的基类称为虚基类)。C++ “虚函数”的存在是为...
分类:
编程语言 时间:
2014-11-09 00:52:12
阅读次数:
378
1.CCMenu继承自CClayer,本质是一个图层,但是它与图层又有不同的地方,2.CCMenuItem菜单项是一个虚基类,要想使用它需要实现它的五个子类中的某一个3.菜单项的五个子类:CCMenuItemFontCCMenuItemImageCCMenuItemLabelCCMenuItemSp...
分类:
其他好文 时间:
2014-11-08 11:59:33
阅读次数:
241
在上一节中,有两个身份证号显然是不合理的。为此,可以把class Person这个共同基类设置为虚基类,这样,从不同路径继承来的同名数据成员在内存中就只有一个拷贝,同名函数也只有一种映射。虚基类定义方式虚基类(virtual base class)定义方式如下: class 派生类名:virtu.....
分类:
编程语言 时间:
2014-10-30 13:13:33
阅读次数:
265
我们知道TileBrush是WPF中一个战斗力爆表的虚基类,从它派生出的DrawingBrush,ImageBrush和VisualBrush在WPF图形编程中发挥着重要作用。然而关于TileBrush的Viewbox、Viewport两大重要属性经常令人感到迷惑,Stretch、Alignment...
分类:
其他好文 时间:
2014-10-22 23:19:41
阅读次数:
240
我们知道,如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如: c1.A::display( )在一个类中保留间接共同....
分类:
编程语言 时间:
2014-10-13 19:57:07
阅读次数:
234
面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。首先我们需要一些宏...
分类:
编程语言 时间:
2014-10-11 00:16:24
阅读次数:
294