There exist a bunch of reasons to drop multiple inheritance (
MI) but I think these two are enough.
Speed.
Even if you do not use
MI. The Virtual function/method Table (vTable) management is nessesarily more time and memory consuming than a Single Inheritance vTable.
Instead I would like to see inner/adaptor classes. (similar Java/C#) In other words nested classes.
DOT NET compatibility.
The DOT NET Common Language Runtime (CLR) has no support for
MI. I
guess this is one of the reasons why are
not able to instantiate from a NET class. For Instance: Use a NET Form control.
Creating a DOT NET assembly requires anyway that you limit your WD classes to single inheritance.
Bjoern Lietz-Spendig
Edited 2 time(s). Last edit at 10/03/2008 07:32PM by BLS.