/* Listing 1 - Sample of Inheritance */
 #define S1_CLASS int x; \
                  int y; \
                  int (*read_x)(); \
                  int (*read_y)();

 typedef struct s1 {
    S1_CLASS
 } S1;
 
 #define S2_CLASS  S1_CLASS \
                   int z; \
                   int (*read_z)(); \
                   
 typedef struct s2 {
    S2_CLASS  
 } S2;
