offsetof是求类的成员变量的偏移量,如果成员变量是类定义的第一个变量,那他的偏移量应该是0.但是引入继承之后,就要额外考虑了。下面的代码说明了这个问题:#define AFX_NOVTABLE//#define AFX_NOVTABLE __declspec(novtable)class AF...
分类:
其他好文 时间:
2014-08-14 19:40:09
阅读次数:
290
System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。S...
分类:
其他好文 时间:
2014-08-14 01:00:47
阅读次数:
325
特殊工具与技术--运行时类型识别[续] 三.RTTI的使用 当比较两个派生类对象的时候,我们希望比较可能特定于派生类的数据成员.如果形参是基类引用,就只能比较基类中出现的成员,我们不能访问在派生类中但不在基类中出现的成员. 因此我们可以使用RTTI,在试图比较不同类型的对象时返回假(false)。 我们将定义单个相等操作符。每个类定义一个虚函数 equal,该函数首先将操作数强制转换为正确的类型。...
分类:
编程语言 时间:
2014-08-13 22:36:07
阅读次数:
383
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。使用静态方法和静态变量实现单例静态属性和静态方法的特点1.静态属性和静态方法访问的时候 使用:: 访问符号2.静态属性当类定义直接加载到内存中,3.静...
分类:
其他好文 时间:
2014-08-12 00:10:53
阅读次数:
199
第一种:匿名内部类作为事件监听器类第二种:内部类作为监听器第三种:Activity本身作为事件监听器第四种:外部类作为监听器当用户单击button按钮时,程序将会触发MyButtonListener监听器外部MyButtonListener类使用顶级类定义事件监听器类的形式比较少见,主要因为如下两个...
分类:
移动开发 时间:
2014-08-11 00:02:40
阅读次数:
283
Context(应用场景):
1、需要使用ConcreteStrategy提供的算法。
2、内部维护一个Strategy的实例。
3、 负责动态设置运行时Strategy具体的实现算法。
4、负责跟Strategy之间的交互和数据传递。
Strategy(抽象策略类):
1、 定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,Context使用这个接口调用不同的算法,一般使用...
分类:
其他好文 时间:
2014-08-10 18:39:20
阅读次数:
349
简单工厂模式SimpleFactory简单工厂模式又叫静态方法模式(因为工厂类定义了一个静态方法),由一个工厂类根据传入的参数决定创建出哪一种产品类的实例。把经常改变需求的部分封装到一个类中达到降低对象之间的耦合度的目的。 //将需求经常改变的部分封装到简单工厂类SimpleFactoryCo...
分类:
其他好文 时间:
2014-08-09 18:13:29
阅读次数:
186
窗口每个GUI应用程序都有一个窗口,它由多个部分组成。 包括标题栏,[a1]菜单栏,客户区[a2],状态栏等对话框是窗口,还是控件?窗口类每个窗口都对应一个窗口类。 窗口类定义了菜单项,背景,图标,鼠标指针样式,和窗口消息处理函数。 每个窗口类都对应一个消息处理函数,即每个窗口都有自己的消息处理函数...
当将一个类A的成员函数A::F设置成类B的友元时,需要预先定义类A,否则不能将A::F指定为友元。而在定义B之后,才能定义A::F,因为A::F被设为 友元正是为了访问类B的成员函数。所以,可以按照如下的顺序:声明类B定义类A,声明但不实现A::F定义类B,设置A::F为友元实现A::F下面是一个例...
分类:
其他好文 时间:
2014-08-08 20:59:56
阅读次数:
276
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码,如下所示:[csh...
分类:
其他好文 时间:
2014-08-07 18:11:21
阅读次数:
232