In Object Oriented Programming, having a class which is derived from two or more base classes. This can lead to complexity in design, diagrams, documentation, and so on. The derived class contains objects of each base class, which can lead to all sorts of bother and possible conflict.

This is supported in C++ but not in Java, where Interfaces are used instead. As interfaces contain no member variables or objects, there can be no collision in the derived class.

Microsoft's ActiveX Template Library (ATL) makes heavy use of the multiple inheritance technique.