多重繼承很方便啊,避免模糊的用法就好了
像java,c#等去掉了多重繼承,真需要的時候不得不用接口,有的是不方便的地方。
其實這種菱形繼承是沒必要存在的,不要用就好了。
像你說的,隻承認A的一份拷貝,但B和C會改變A的行為,例如A裏麵的共有函數M1會調用M2這個函數,而M2是虛函數被B和C實現,然後你在D裏麵調用M1,這時是B的M2被調用呢,還是C的M2被調用呢?
其實我們可以用explicity casting來解決,不過還是不要這麽用的好。語言是給自己編程帶來方便的,何必自找麻煩