Lo que estoy buscando hacer es desarrollar dos clases base diferentes que no deberían heredarse juntas en la clase derivada. ¿Hay alguna forma de que pueda aplicar esto en tiempo de compilación?¿Es posible evitar la herencia múltiple de clases base específicas en tiempo de compilación?
class Base1 {};
class Base2 {};
class Derived1 : public Base1 {} // OK!
class Derived2 : public Base2, public Other {} // OK!
class Derived3 : public Base1, Base2 {} // Can I force the compiler to complain?
Derived1 d1; // OK!
Derived2 d2; // OK!
Derived3 d3; // Or can I force the compiler to complain here?
Soy consciente de que documentation es una buena idea, preguntando si es posible.
Creo que tener un constructor privado hará el truco. Pero también desactivará el caso 'Derived2'. – littleadv
¿No es suficiente escribir "No hagas esto"? en la documentación? –