#include "stdafx.h"
#define BOOL int
#define TRUE 1
#define FALSE 0
#define LPCTSTR LPSTR
typedef char* LPSTR;
#define UNIT int
#define PASCAL _stdcall
#include
using namespace std;
class CObjcet;
struct CRuntimeClass
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema;
CObject*(PASCAL *m_pfnCreateObject)();
CRuntimeClass * m_pNextClass;
static CRuntimeClass * m_pBaseClass;
CRuntimeClass *m_pNextClass;
};
struct AFX_CLASSINIT
{
AFX_CLASSINIT(CRuntimeClass*pNewClass);
};
#define RUNTIME_CLASS(class_name) \
(&class_name::class##class_name)
#define DECLARE_DYNAMIC(class_name)\
public:\
static CRuntimeClass class##class_name;\
virtual CRuntimeClass* GetRuntimeClass() const;
#define_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_anme;}\
#define IMPLEMENT_DYNAMIC(class_name,base_class_name)\
_IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,0xFFFF,NULL)
怎么还有反斜线,是什么这么一堆
|