Existe uma maneira de impedir que uma classe seja derivada duas vezes usando uma declaração estática e uma característica de tip
Sei que este é um exemplo artificial, mas quero uma verificação de compilação para evitar isso ...
class A {};
class B : public A {};
class C : public A {};
class D : public B, public C
{
BOOST_STATIC_ASSERT((is_base_of_once<A,D>::value))
};