1 #include <stdio.h> 2 3 static class sss { 4 public: 5 char * m; 6 virtual int f (int i) {return i;} 7 } sss; 8 9 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16) 10 11 int main (void) { 12 printf ("+++Class starting with pointer and containing virtual function:\n"); 13 printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss)); 14 printf ("offset-m=%d,align-m=%d\n", 15 _offsetof (class sss, m), __alignof__ (sss.m)); 16 } 17