对MFC消息映射机制和运行时类型识别的理解对MFC消息映射机制的理解MFC中派生于Cobject的每个类都有一个消息映射表,所有MFC窗口都有一个同样的窗口过程AfxWndProc(),AfxWndProc的参数列表中有一个是窗口句柄,在AfxWndProc函数中将句柄(HWND)转换成了窗口指针(...
分类:
编程语言 时间:
2014-10-14 22:34:49
阅读次数:
236
类型识别分为两种:一种以编译时类型识别,一种是运行时类型识别;编译时类型识别:static_cast;运行时类型识别(RTTI),C++通过下面连个操作符提供RTTi;1)dynamic_cast操作符,将基类类型的指针或者引用安全地转换为派生类型的指针或者引用;2)typeid操作符,返回指针或者...
分类:
编程语言 时间:
2014-10-09 13:22:43
阅读次数:
253
特殊工具与技术--运行时类型识别[续] 三.RTTI的使用 当比较两个派生类对象的时候,我们希望比较可能特定于派生类的数据成员.如果形参是基类引用,就只能比较基类中出现的成员,我们不能访问在派生类中但不在基类中出现的成员. 因此我们可以使用RTTI,在试图比较不同类型的对象时返回假(false)。 我们将定义单个相等操作符。每个类定义一个虚函数 equal,该函数首先将操作数强制转换为正确的类型。...
分类:
编程语言 时间:
2014-08-13 22:36:07
阅读次数:
383
特殊工具与技术
--运行时类型识别
引:
通过下面两个操作符提供RTTI:
1.typeid操作符,返回指针或引用所指对象的实际类型。
2.dynamic_cast操作符,将基类类型的指针或引用安全地转换为派生类型的指针或引用。
对于带虚函数的类,在运行时执行RTTI操作符,但对于其他类型,在编译时计算RTTI操作符。
当具有基类的引用或指针,但需要执行不是基类组成部分的派生类操作的时候,需要动态的强制类型转换。通常,从基类指针获得派生类行为最好的方法是通过虚...
分类:
编程语言 时间:
2014-07-19 11:45:04
阅读次数:
258
MFC六大核心机制概述
我们选择了C++,主要是因为它够艺术、够自由,使用它我们可以实现各种想法,而MFC将多种可灵活使用的功能封装起来,我们岂能忍受这种“黑盒”操作?于是研究分析MFC的核心机制成为必然。
首先,列出要讲的MFC六大核心机制: 1、MFC程序的初始化。 2、运行时类型识别(R...
分类:
其他好文 时间:
2014-06-07 08:11:34
阅读次数:
190
命名的强制类型转换:
有static_cast、dynamic_cast、const_cast、reinterpret_cast四种。
dynamic_cast支持运行时类型识别。
static_cast:该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。...
分类:
编程语言 时间:
2014-06-04 13:59:48
阅读次数:
333
本文只讲述typeid这个操作符,呃 ,它确实是一个操作符,类似于 sizeof 操作符。
在将该操作符之前,不得不提的是
RTTI(Run-Time Type Identification,运行时类型识别),其实就是说在运行期得到对
象的实际的类型。这立刻使我们想到了
“可以通过基类的指针和引用可以指向实际的派生类型”。啊哦,答对了,这就是typeid
这个强大操作符所做的事...
分类:
编程语言 时间:
2014-05-07 05:58:26
阅读次数:
350