다음은 Java에서 다중 인터페이스 상속을 사용하는 예입니다. 문제가 있습니다. 내가 왜 문제가 있는지를 완전히 알고 있으며 이것이 내 질문의 요지가 아님에 유의하십시오. 이 특정 다중 인터페이스 상속 모호성의 이름을 지정하는 방법에 대한 질문이 있습니다. C에서 예를 들어 , ++, 여러 구현 상속을 사용하고 "다이아몬드 문제"라고 재정의하는 사용 방법을
이상한 문제가 발생 필요 - 가상 상속 사용 : A
/\* both virtual
B C
\/
D
그러나 내 기본 클래스 A는 기본 생성자가없는, 그래서 나는 내가 여전히 생성자를 호출 할 필요가 A
/\* both virtual
B C
\/\
D E
을 C가 상속으로이 다이아몬드로 클래스 E를 추가하려고하지만 경우 D.에
그냥 재미있게 Windows 용 XUL 구현을 위해 노력하고 있습니다. XUL에서 UI 요소는 다음과 같이 XML로 작성 될 수 있습니다. <window width="800" height="600"></window>
요소 속성을 가져오고 설정하는 시스템을 고려 중입니다. 그것은 꽤 잘 작동하지만 다이아몬드 상속의 사용이 잠재적으로 위험 할 지 확신 할
class A { public: void eat(){ cout<<"A";} };
class B: virtual public A { public: void eat(){ cout<<"B";} };
class C: virtual public A { public: void eat(){ cout<<"C";} };
class D: public B,C
나는 다이아몬드 문제를 겪고 있었고 다양한 시나리오에서 효과가있을 것이라고 생각했다. 그리고 이것은 내가 작업하고있는 것들 중 하나입니다. #include <iostream>
using namespace std;
class MainBase{
public:
int mainbase;
MainBase(int i):mainbase(