클래스 A를 상속받지 않고 클래스 D에서 클래스 A의 함수를 어떻게 사용합니까 (나쁜 습관이라고 알고 있지만 상속을 전혀 변경할 수 없음). D에서 C와 B의 상속을 제거 하시겠습니까? 나는 회원 모호한 오류 요청 주위에 방법을 찾을 수 없습니다. 그 상관없이 지금까지 내 예를 느슨하게 예는 여기에있는 "모호한 기본 클래스 (만 C++) '을 기반으로C++에서 모호한 멤버 요청을 해결하는 방법 이해하기
class A
{
public:
void DoEverything(int){ }
};
class B : public A
{
public:
...
};
class C : public A
{
public:
...
};
class D : public C : public B
{
public:
...
};
int main()
{
D dMan;
int i = 2;
dMan.DoEverything(i);
}
제거하는 방법에 대한 이해의 (잘못) 없었다 : http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/topic/com.ibm.xlcpp8a.doc/language/ref/cplr138.htm#cplr138하지만 나에게 도움이되지 않았습니다 문제를 이해하십시오. 모든
다이아몬드 상속 문제가 있습니다. 이 게시물을 확인해보십시오 : http://stackoverflow.com/questions/379053/diamond-inheritance-c –