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); |