質問です。
struct B1 {};
struct B2 {};
struct D : public B1, B2 {};
D ar[2];

&(B2&)ar[0] と &ar[1] が同じアドレスに
なるのですが、何故でしょうか?