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