Ответ 1
Cprogramming.com Учебное пособие: Решение проблемы алмаза в С++ с помощью...
http://www.cprogramming.com/tutorial/virtual_inheritance.html
Попробуйте это
Для этого типа проблемы можно избежать или решить с помощью интерфейса.
Есть ли способ определить класс Foo в С++ так что
т.е.
class Cat: public Foo{} // okay
class Dog: public Foo{} // okay
class Weird: public Cat, public Dog {} // I want this to throw a compiler error
Cprogramming.com Учебное пособие: Решение проблемы алмаза в С++ с помощью...
http://www.cprogramming.com/tutorial/virtual_inheritance.html
Попробуйте это
Для этого типа проблемы можно избежать или решить с помощью интерфейса.
Другой источник информации:
http://www.parashift.com/c++-faq-lite/multiple-inheritance.html
Собственно, весь С++ faq мало стоит прочитать, если вы программируете на С++.