저는 나쁜 클래스 계층 구조와 같은 끔찍한 문제에 조금 빠져 있습니다. 실제 기본 클래스가 아닌 업 캐스팅
class A {...}; // abstract
class B : public A {...}; // abstract
class C {...}; // abstract
class a1 : public B, public C {...}; // indirect inheritance of A
class c1 : public A, public C {...};
질문 : 그것은 가능한 내가 가장 좋은 방법은 C가 A로부터 상속 단지 클래스를 만드는 것을 이해
클래스 A에 포인터 (참조)로 C에 대한 포인터를 (참조)로 변환하지만, 여전히 클래스 a1 (두 개의 기본 A)에 문제가 발생할 수 있습니다.
C와 A는 그렇게 아니, 정적 캐스트와 2 사이의 변환을 할 수없는, 전혀 관련이 있습니다.그래도 변환 연산자를 만들 수 있습니다 (또는 방금 다시 디자인 할 수 있음) – UKMonkey