/* Animal class public interface */ #ifndef ANIMAL_P_H #define ANIMAL_P_H /* Forward declaration */ struct animal; /* Alloc new object */ struct animal* animal_new(void); /* Constructor - make_sound may be NULL*/ void animal_ctor(struct animal*, void (*make_sound)(void)); /* Destructor */ void animal_dtor(struct animal*); /* Behavior */ void animal_get_name(struct animal*, char*); void animal_set_name(struct animal*, const char*); void animal_sound(void *); #endif /* ANIMAL_P_H */