|
Following is the definition part of _IMPLEMENT_RUNTIMECLASS (class_name, base_class_name, wSchema, pfnNew):
static char _lpsz ## class_name [] = #class_name;\
CRuntimeClass class_name :: class ## class_name = {\
_lpsz ## class_name, sizeof (class_name), wSchema, pfnNew, RUNTIME_CLASS (base_class_name), NULL};\
static AFX_CLASSINIT _init _ ## class_name (class_name :: class ## class_name);\
CRuntimeClass * class_name :: GetRuntimeClass () const\
{return&class_name :: class ## class_name;}\
AFX_CLASSINIT :: AFX_CLASSINIT (CRuntimeClass * pNewClass)
{
pNewClass-> m_pNextClass = CRuntimeClass :: pFirstClass;
CRuntimeClass :: pFirstClass = pNewClass;
}
What do the following two sentences mean? What can they do?
static AFX_CLASSINIT _init _ ## class_name (class_name :: class ## class_name);\
CRuntimeClass * class_name :: GetRuntimeClass () const\
{return&class_name :: class ## class_name;}
I thanked him first |
|