程序员可以直接使用afxDump对象,CDumpContext 类重载了各种数据类型的插入运算符“<<”,包括CObject引用和指针,使用方法就同C++的标准输出函数cout一样。CDumpContext也将信息输出到调试窗口,也只能在Debug版本中有效,如果以CObject或其派生类的对象作参数,输出的是对象的名称和地址。例如: { CDate date(2000,2,29);...
CObject是大多数MFC类的根类或基类。CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。MFC从CObject派生出许多类,具备其中的一个或者多个特性。程序员也可以从CObject类派生出自己的类,利用CObject类的这些特性。 目录 CObject的结构 CObject类的特性 CObject...
凡是从CObject类派生的类,都可以通过一组宏自动完成上述任务。 比如在类的头文件中加入宏DECLARE_DYNAMIC(Class_name),这个宏声明了CRuntimeClass结构体中的静态成员.如果传入的Class_name为CPerson,则对应的变量名为classCPerson并且返回一个CRuntimeClass指针的虚函数。然后在实现文件中使用IMPLEMENT_DYNAMIC(派生类...
CMutex 类 CNetAddressCtrl 类 CNotSupportedException 类 CObArray 类 CObject 类 CObList 类 COccManager 类 COleBusyDialog 类 COleChangeIconDialog 类 COleChangeSourceDialog 类 COleClientItem 类 COleCmdUI 类 COleControl 类 COleControlContainer 类
使用基本 CObject 功能 使用普通 C++ 语法从CObject(或从CObject派生的类)派生类。 下面的示例演示最简单的情况,即从CObject派生类: C++复制 classCSimple:publicCObject {// add CSimple-specific members and functions...}; 但是,通常情况下,最好替代CObject的某些成员函数来处理新类的详细信息。 例如,通常...
CMiniFrameWnd 类 CMonikerFile 类 CMonthCalCtrl 类 CMouseManager 类 CMultiDocTemplate 类 CMultiLock 类 CMultiPageDHtmlDialog 类 CMultiPaneFrameWnd 类 CMutex 类 CNetAddressCtrl 类 CNotSupportedException 类 CObArray 类 CObject 类 CObList 类 COccManager 类 ...
MFC:总结篇 CObject类 一.简介 CObject类是MFC类的基类,具有一些特性: (1) RTTI: 对运行时类信息的支持 (2) DYNAMIC CREATE:对动态创建的支持 (3) SERIAL:对串行化的支持 (4) TRACE/Dump:对象诊断输出 二.CObject 类特性 1.对运行时类信息的支持...
CObject的结构 以下是 CObject类的定义: class CObject { public: // 与动态创建相关的函数 virtual CRuntimeClass* GetRuntimeClass() const; 析构函数 virtual ~CObject(); // virtual destructors are necessary // 与构造函数相关的内存分配函数,可以用于DEBUG下输出诊断信息 ...
CObject类具有三种关键特性:运行时类信息、动态创建和序列化。这些特性通过MFC中的特定宏来实现,如下所示:1. 运行时类信息DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC宏被用于为类添加const CRuntimeClass成员,如GetRuntimeClass和_GetBaseClass函数,以便在运行时获取类的信息。2. 动态创建DECLARE_DYNCREATE...
在下文中一共展示了CObject类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。 示例1: init_objects ▲点赞 6▼ voidinit_objects(){ {// planeogl::CPlaneObjectBuilder* pObjectBuilder =newogl::CPlaneObjectBuilder; ...