5 char a[1]; // must be char array
10 A& a() { return ma; } // must be accessed through a getter
16 B& b() { return mb; } // must be accessed through a getter
22 virtual A getA() = 0; // must be virtual
26 foo(D& d) // The D object must not be created locally
27 // (so that getA implementation is not known at compile time?)
30 for (;;) // must be in a loop