按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
{ return &CFoo::classCFoo; } 探
討
m_pBaseClass
CObject::classCObject
m_pNextClass NULL
5
2 圖8…7a DECLARE_DYNAMIC / IMPLEMENT_DYNAMIC
3
…………………………………………………………Page 586……………………………………………………………
5
2
4
第
。H
AFX。H
篇
class CDynobj : public CObject
#define DECLARE_DYNCREATE (class_name) 深
入
{ #define DECLARE_DYNCREATE (class_name)
DECLARE_DYNAMIC(class_name)
DECLARE_DYNCREATE (CDynobj) DECLARE_DYNAMIC(class_name)
static CObject* PASCAL CreateObject(); M
。。。 static CObject* PASCAL CreateObject(); F
C
}
程
式
設
class CDynobj : public CObject
。CPP { 計
static AFX_DATA CRuntimeClass classCDynobj;
virtual CRuntimeClass* GetRuntimeClass () const;
IMPLEMENT_DYNCREATE (CDynobj; CObject)
static CObject* PASCAL CreateObject();
。。。
}
#define IMPLEMENT_DYNCREATE (class_name; base_class_name)
#define IMPLEMENT_DYNCREATE (class_name; base_class_name)
CObject* PASCAL class_name::CreateObject()
CObject* PASCAL class_name::CreateObject()
{ return new class_name; }
AFX。H
{ return new class_name; }
_IMPLEMENT_RUNTIMECLASS(class_name; base_class_name; 0xFFFF;
_IMPLEMENT_RUNTIMECLASS(class_name; base_class_name; 0xFFFF;
class_name::CreateObject)
class_name::CreateObject)
CDynobj::classCDynobj CObject* PASCAL CDynobj::CreateObject()
“CDynobj” { return new CDynobj; }
sizeof(CDynobj) AFX_DATADEF CRuntimeClass CDynobj::classCDynobj = {
“CDynobj”; sizeof(CDynobj); 0xFFFF; CDynobj::CreateObject;
0xFFFF &CObject::classCObject; NULL };
m_pfnCreateObject CDynobj::CreateObject static const AFX_CLASSINIT _init_CDynobj(&CDynobj::classCDynobj);
CRuntimeClass* CDynobj::GetRuntimeClass() const
m_pBaseClass CObject::classCObject { return &CDynobj::classCDynobj; }
m_pNextClass NULL
圖8…7b DECLARE_DYNCREATE / IMPLEMENT_DYNCREATE
…………………………………………………………Page 587……………………………………………………………
。H
#define DECLARE_SERIAL (class_name) AFX。H
class CDynobj : public CObject #define DECLARE_SERIAL (class_name)
DECLARE_DYNCREATE(class_name)
{ DECLARE_DYNCREATE(class_name)
friend CArchive& AFXAPI operator》》(CArchive& ar; class_name* &pOb);
DECLARE_SERIAL (CDynobj) friend CArchive& AFXAPI operator》》(CArchive& ar; class_name* &p