cplus.c

来自「这是状态机的一个框架结构的例子,可以作为状态机的基本架构」· C语言 代码 · 共 30 行

C
30
字号
/******************************************************************** 
 * "C+" -- Portable Object-Oriented Extension to C
 * Copyright (c) 2002 Miro Samek, Palo Alto, CA.
 * All Rights Reserved.
 *******************************************************************/
#include "cplus.h"
#include "qassert.h"

DEFINE_THIS_FILE;

ObjectVTABLE theObjectVTABLE = { 
   0,                                             /* no superclass */
   (void (*)(Object *))ObjectAbstract       /* purely virtual xtor */
};

int ObjectIsKindOf__(Object *me, void *vtable) {
   register ObjectVTABLE *vt;
   for (vt = me->vptr__; vt; vt = vt->super__) {
      if (vt == vtable) {
         return !0;
      }
   }      
   return 0;
}

void ObjectAbstract(void) {
   ASSERT(0);            /* abstract method should never be called */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?