cpp class to c99 typedef struct