Motivation: Methode soll wissen, für welches Argument sie gerufen wurde
typedef struct { int (*method[5])(obj *o); } cls; typedef struct { int data [3]; // Daten des Objekts cls *c; // Zeiger auf Klasse } obj; obj *o; ... (*(o->c->method[3]))(o); int sum (obj *this) { return this->data[0] + this->data[1]; }jede Methode bekommt this als erstes Argument
(in Java, C# geschieht das implizit)