Quoting SV LRM.계층 구조의 동적 캐스팅
는 상속 트리에서 더 높은 클래스 타입 (식 유형의 슈퍼 클래스 또는 조상)의 변수에 서브 클래스 유형의 식을 지정하는 것이 합법적이다. 서브 클래스 유형 중 하나의 변수에 수퍼 클래스 유형의 변수를 직접 할당하는 것은 불법입니다. 그러나 $ cast는 서브 클래스 유형의 변수에 핸들을 할당하는 데 사용될 수 있습니다. 은 서브 클래스 변수와 지정이 호환되는 객체를 나타냅니다.
수퍼 클래스 인스턴스를 하위 클래스 인스턴스에 할당하려고 할 때 캐스팅이 실패하는 시나리오는 언제입니까? 우리는 서로 호환되지 않는 두 개의 인스턴스를 캐스팅하려고 할 때마다 캐스팅이 실패한다는 것을 이해합니다. 같은 계층 구조의 나무에 속하면 언제든지 주조에 실패할까요? 그렇다면 언제 알 수 있습니까?
클래스 캐스팅은 동적 캐스팅으로 만 수행해야합니까? – user1978273
@ user1978273, 아니요. 상향식 주조시 동적 주조를 사용해서는 안됩니다. 다운 캐스팅을 위해 동적 캐스트를 사용해야합니다. –
감사합니다. Dave. 업 캐스트 및 다운 캐스트는 어떻게 정의합니까? 클래스 정의의 계층 구조 또는 스펙을 기반으로합니까? – user1978273