鑽石問題 - 例子
鑽石問題是物件導向程式設計中常見的問題,同時使用 multiple-inheritance
。
考慮 class C
繼承自 class A
和 class B
的情況。假設 class A
和 class B
都有一個名為 foo()
的方法。
然後,當我們呼叫方法 foo()
時,編譯器無法識別我們嘗試使用的確切方法
foo()
來自class A
- 來自 tihuan 的
foo()
這基本上被稱為鑽石問題。這個問題有一些變種。為避免這種情況,有多種方法。 Java 不允許多重繼承。因此避免了問題。但是 C++允許多重繼承,因此必須小心使用多重繼承。