저는이 사이트에서 다른 스레드를 읽었으며 dynamic_cast와 static_cast가 업 캐스팅에서 어떻게 안전한지 언급합니다.캐스팅 - 업 캐스팅을 위해 왜해야합니까?
왜 이것이 상영을 위해 필요합니까?
A * ptr = new B();
다음 예를 들어
, 클래스 B가 A로부터 파생되는 경우는, 여전히 작동하고, A 형의 객체 (나는 upcasting에 대한 변환이 불필요 자바 배경에서도 오전처럼 동작합니다. upcasting가 자동으로 발생하기 때문에
나는 또한 downcasting 필요하지 않습니다 dynamic_cast는이 사이트에서 읽을 [질문에 "When should static_cast, dynamic_cast, const_cast and reinterpret_cast be used?은"] . 다시 말하지만, 나는 주조 당신이 downcasting 경우에만 정말 필요하다고 생각합니다.
어디서 잘못 되었나요?
참고 : 이전 질문에서 대답 중 하나는 "당신은 아래로 던지기 위해 그것을 사용할 필요가 없습니다 ..."라고 말합니다. 그러나 전체 문장의 맥락에서 의미는 당신이 아래쪽으로 캐스팅하기 위해서만 사용하는 것에 국한되지 않는다는 것입니다. [나는 애매함을 없애기 위해 그 대답을 편집했다.] –