Bueno, no sé si C++ es el único o no, la verdad.
Hay una una idea generalizada entre los teóricos en esto de los lenguajes de programación que dicen que todo lo que se puede hacer con herencia múltiple puede resolverse también con herencia simple, y está claro que la herencia múltiple supone algunos problemas, pues se puede heredar el mismo codigo por dos sitios distintos y cosas así.
En Java en vez de tener herencia múltiple completa, se tiene herencia simple, pero luego una clase puede heredar de todos los interfaces que se quiera (interfaces = clase C++ con todas las funciones virtuales puras). De esta forma, algunos problemas de la herencia múltiple desaparecen.
Un saludo