struct Engine_vtable {
int (*start)();
int (*stop)();
};
/* Reusable class */
struct Engine {
struct Engine_vtable* vtable;
struct Engine_Data s;
};
/* Initializer */
void Engine_Init(struct Engine* e);
int main()
{
struct Engine engine;
Engine_Init(&engine);
}