對菱形繼承關係直接地多重繼承是通不過編譯的

你試試就知道了,因為當發生你說的那種情況,編譯器會對繼承關係的模糊性報錯。小弟n年前一直是用c++的,對這個門兒清。

一個普遍的解決辦法就是虛擬繼承,也就是說,B和C在繼承A的時候都用virtual方式。

當然,最實際的辦法就是改用接口,這個是最根本和有效的辦法。A,B,C全都設計成接口,需要任何一種類,隻需要實現相應接口就行了,這個是當年所有係統分析員公認的。

請您先登陸,再發跟帖!