CRuntimeClass类中语法问题
以下为CRuntimeClass类在MSDN中的说明文件内容CRuntimeClass
CRuntimeClass is a structure you can use to obtain information about an object or its base class at run time. The ability to determine the class of an object at run time is useful when extra type checking of function arguments is needed, or when you must write special-purpose code based on the class of an object. Each class derived from CObject is associated with a CRuntimeClass structure.
Syntax
struct CRuntimeClass
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema
CObject* (PASCAL* m_pfnCreateObject)( );
CRuntimeClass* (PASCAL* m_pfnGetBaseClass)( );
CRuntimeClass* m_pBaseClass;
CObject* CreateObject( );
BOOL IsDerivedFrom(const CRuntimeClass* pBaseClass) const;
};
在此类定义中有一个CObject* 类指针变量,但是我看不懂的是这个类指针变量后面的内容:(PASCAL* m_pfnCreateObject)( ); 这样的定义描述我在C++程序语言设计教程中找不到任何类似的说明,它在C++中是什么样的语法结构?它表示什么意思? 类似的如:CRuntimeClass* (PASCAL* m_pfnGetBaseClass)( );BOOL IsDerivedFrom(const CRuntimeClass* pBaseClass) const;
第一.CObject表示前面定义的类,CObject* 表示定义一个指向CObject类对象的指针,但后面的两个圆括号分别代表什么意义?m_pfnCreateObject是指什么? 最后一列中出现两个const表示什么意义?
请哪位高手给予帮助,多谢了!