Я хочу разработать два разных базовых класса, которые не должны наследоваться вместе в одном производном классе. Есть ли способ принудительно применить это во время компиляции?
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?
Я знаю, что документация - хорошая идея, просто интересно, возможно ли это.