Sometimes the best solution really is to emulate multiple inheritance (more verbosely) using interfaces, an attribute and many forwarding methods.
Multiple inheritance is very unpopular though, partly I think because there are so many opinionated people who speak ill of it, and partly because it can be confusing in certain/many cases.
Personally I'm a fan of Scala's traits mechanism as an alternative to multiple inheritance as it solves the diamond problem using a sensible and clearly defined mechanism. However I also feel that Scala traits have arbitrary restrictions purely because people
are scared of having it "look like multiple inheritance" and thus offend aforementioned opinionated people.