수색…
다이아몬드 문제 - 예
다이아몬드 문제는 multiple-inheritance 을 사용하면서 객체 지향 프로그래밍에서 일반적으로 발생하는 문제입니다.
class C 가 class A 와 class B 로부터 상속 된 경우를 생각해보십시오. class A 와 class B 모두 foo() 라는 메서드가 있다고 가정합니다.
그런 다음 foo() 메서드를 호출하면 컴파일러는 사용하려는 정확한 메서드를 식별 할 수 없습니다.
-
class Afoo() -
class Bfoo()
이것은 기본적으로 다이아몬드 문제라고합니다. 이 문제의 몇 가지 변형이 있습니다. 이를 피하기 위해 여러 가지 방법이 있습니다. Java 는 다중 상속을 허용하지 않습니다. 따라서 문제는 피할 수 있습니다. 그러나 C ++은 다중 상속을 허용하고 있으므로 다중 상속을 사용하는 데주의해야합니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow