home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_11_07 / 1107070a < prev    next >
Text File  |  1993-05-09  |  1KB  |  60 lines

  1. /******** OBJECTS.C  Copyright 1992 Gregory Colvin *********
  2.    This program may be distributed free with this notice.
  3. ***********************************************************/
  4.  
  5. #include <assert.h>
  6. #include <string.h>
  7. #include "objects.h"
  8.  
  9. #ifndef __cplusplus /* Not C++, assume C */
  10.  
  11. /* Object Stack: */
  12. static Object *ObjectStack[MAX_PUSH];
  13. Object * near *pThis = ObjectStack + MAX_PUSH;
  14.  
  15.  
  16. /* Object Class definition: */
  17.  
  18. void Object_destroy(void)
  19. {
  20.     GET_THIS_SAFE(Object);
  21. }
  22.  
  23. int Object_isA(const char *className)
  24. {   int result = !strcmp("Object",className);
  25.     return result;
  26. }
  27.  
  28. void Object_construct(void)
  29. {
  30. }
  31.  
  32. void Object_destruct(void)
  33. {
  34. }
  35.  
  36. ObjectMethods ObjectTable;
  37.  
  38. void ObjectInitClass(void)
  39. {
  40.     if (ObjectTable.initialized)
  41.         return;
  42.     ObjectTable.name = "Object";
  43.     ObjectTable.initialized = 1;
  44.     DEF_METHOD(Object,destroy);
  45.     DEF_METHOD(Object,isA);
  46. }
  47.  
  48. #else /* C++ */
  49.  
  50. const char *Object::classname()
  51. {   return "Object";
  52. }
  53.  
  54. int Object::isA(const char *className)
  55. {   return !strcmp("Object",className);
  56. }
  57.  
  58.  
  59. #endif /* C vs. C++ */
  60.