Abstract type: Difference between revisions

Content deleted Content added
→‎{{header|C}}: add substance
→‎{{header|C}}: make my macros a bit safer
Line 78: Line 78:
return ac; }
return ac; }


#define Abs_Method1( c, a) c->klass->method1(c, a)
#define Abs_Method1( c, a) (c)->klass->method1(c, a)
#define Abs_Method2( c, b) c->klass->method2(c, b)
#define Abs_Method2( c, b) (c)->klass->method2(c, b)
#define Abs_Method3( c, d) c->klass->method3(c, d)
#define Abs_Method3( c, d) (c)->klass->method3(c, d)
#define Abs_Free(c) \
#define Abs_Free(c) \
do { if(c && c->instData) free(c->instData); if (c) free(c); } while(0);
do { if(c && c->instData) free(c->instData); if (c) free(c); } while(0);