按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
#0053 static AFX_CLASSINIT _init_##class_name(&class_name::class##class_name);
#0054 CRuntimeClass* class_name::GetRuntimeClass() const
#0055 { return &class_name::class##class_name; }
#0056
#0057 #define IMPLEMENT_DYNAMIC(class_name; base_class_name)
#0058 _IMPLEMENT_RUNTIMECLASS(class_name; base_class_name; 0xFFFF; NULL)
#0059
#0060 #define IMPLEMENT_DYNCREATE(class_name; base_class_name)
#0061 CObject* PASCAL class_name::CreateObject()
#0062 { return new class_name; }
#0063 _IMPLEMENT_RUNTIMECLASS(class_name; base_class_name; 0xFFFF;
#0064 class_name::CreateObject)
#0065
#0066 class CObject
#0067 {
#0068 public:
#0069 CObject::CObject() {
#0070 }
#0071 CObject::~CObject() {
#0072 }
#0073
#0074 virtual CRuntimeClass* GetRuntimeClass() const;
#0075 BOOL IsKindOf(const CRuntimeClass* pClass) const;
#0076
#0077 public:
#0078 static CRuntimeClass classCObject;
#0079 virtual void SayHello() { cout