I realize this is a contrived example, but I want a compile check to prevent this...
class A {}; class B : public A {}; class C : public A {}; class D : pub
When I try to derive a class twice as you have here it does not even compile. (duplicate base type)