C++ supports multiple inheritance, allowing a class to inherit properties and methods from multiple base classes. This feature provides flexibility but can lead to complex scenarios, like the "diamond problem," where ambiguity arises over which inherited property to use. Java avoids multiple inheritance with classes and instead uses interfaces to achieve similar functionality without the complexities associated with multiple inheritance. C does not support inheritance, as it is not an object-oriented language.