读书人

C++之钻石有关问题和解决方案(菱形继

发布时间: 2013-01-02 13:08:44 作者: rapoo

C++之钻石问题和解决方案(菱形继承问题)
在C++中,什么叫做钻石问题(也可以叫菱形继承问题),怎么避免它?


下面的图表可以用来解释钻石问题。


C++之钻石有关问题和解决方案(菱形继承有关问题)


C++之钻石有关问题和解决方案(菱形继承有关问题)


假设我们有类B和类C,它们都继承了相同的类A。另外我们还有类D,类D通过多重继承机制继承了类B和类C。因为上述图表的形状类似于钻石(或者菱形),因此这个问题被形象地称为钻石问题(菱形继承问题)。现在,我们将上面的图表翻译成具体的代码:


Class Mule implements Horse,Donkey{    /* Horse和Donkey是接口*/}


转载自:http://www.programmerinterview.com/index.php/c-cplusplus/diamond-problem/

读书人网 >C++

热点推荐