YLLEN

要去看埃菲尔铁塔的顶

欢迎关注本人微博:t.cn/RGSLVUk

CObject 类

        从继承关系来看,又可将MFC中的类分成两大类,占大多数的一些类是从CObject继承下来,另一些类则不是从CObject 类继承下来,这些类包括:字符串类CString、日期时间类CTime、矩形类CRect、点CPoint等,它们提供程序辅助功能。

        CObject类是MFC的抽象基类,是MFC中多数类和用户自定义派生类的基类,它为程序员提供了许多编程所需的公共操作。这些操作包括:对象的建立和删除、序列化支持、对象诊断输出、运行时信息以及集合类的兼容等。

        序列化是对象本身往返于存储介质的一个存储过程。序列化的结果是使数据“固定”在存储介质上。CObject类定义两个在序列化操作中起重要作用的成员函数:Serialize和IsSerializable。程序可以调用一个由CObject派生的对象的IsSerializable函数来确定该对象是否支持序列化操作。建立一个支持序列化操作的类的步骤之一是重载继承自CObject类的Serialize函数,并提供序列化数据成员的派生类的专用代码。

        CObject的派生类还支持运行时类型信息。运行时的类型信息机制允许程序检索对象的类名及其他信息。CObject提供两个成员函数来支持运行时类型信息:IsKindOf和GetRuntimeClass。函数IsKindOf指示一个对象是否属于规定类或者是从规定的类中派生出来的。GetRuntimeClass类对象中包含了一个类运行时的信息,包括这个类的类名、基类名等信息,通过它可以很容易地获得一个指定类的运行时刻信息。


        MFC提供了许多诊断特性,使用CDumpContext类与CObject的成员函数Dump配合,可以在调试程序时输出对象内部数据;在派生类中重载基类的AssertValid成员函数,可以为派生类的对象提供有效性检查。


评论

© YLLEN | Powered by LOFTER