サーチ…


ダイヤモンドの問題 - 例

ダイヤモンド問題は、 multiple-inheritanceを使用しながら、オブジェクト指向プログラミングで発生する共通の問題です。

class Cclass Aおよびclass Bから継承される場合を考える。 class Aclass B両方にfoo()というメソッドがあるとします。

次にfoo()メソッドを呼び出すと、コンパイラは使用しようとしている正確なメソッドを特定できません

  • class A foo()
  • class B foo()

これは基本的にダイヤモンド問題と呼ばれています。この問題のいくつかの変形があります。これを避けるために、複数のアプローチがあります。 Javaでは多重継承ができません。したがって、この問題は回避される。しかし、C ++では多重継承が許可されているため、多重継承を使用するよう注意する必要があります。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow