On one application of the OOP - page 12

 
Vasiliy Sokolov:
...it is sufficient to allow multiple inheritance from classes if and only if they are represented as purely abstract classes (contain no data or implementations, all methods are public). That is, you would not need to introduce any specific construct or keyword not included into C++ standard.
Since you are referring to C++, there are no such limitations you suggest, so why make up artificial barriers? It's better just to allow multiple inheritance and that's all. And everyone will decide for himself how to use it. If you don't want to inherit from non-abstract classes, don't do it, be free. And someone needs it on the contrary.
Reason: