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