1 #include <stdio.h> 2 3 class c{ 4 public: 5 short f; 6 }; 7 8 9 static class sss: public c{ 10 public: 11 int m; 12 } sss; 13 14 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16) 15 16 int main (void) { 17 printf ("++Class with int inhereting class with short:\n"); 18 printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss)); 19 printf ("offset-short=%d,offset-int=%d,\nalign-short=%d,align-int=%d\n", 20 _offsetof (class sss, f), _offsetof (class sss, m), 21 __alignof__ (sss.f), __alignof__ (sss.m)); 22 return 0; 23 } 24