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