Possible Duplicate:
What is the exact problem with multiple inheritance?
Why is multiple inheritance considered to be evil while implementing multiple interfaces is not? Especially when once considers that interfaces are simply pure abstract classes?
(More or less) duplicate of What is the exact problem with multiple inheritance?, Multiple Inheritance in C#, and some others…
The common problem with multiple inheritance is the ‘diamond problem’.
If a virtual method in A is implemented by both B and C, which one do you get when you create D?
The reason this isn’t a problem with interfaces is because interfaces don’t have implementations, so if A/B/C are all interfaces, then D chooses how to implement the A methods in whatever manner is appropriate.