다형성에 대해 배울 때 일반적으로 다음과 같은 것을 볼 수 있습니다
class Base { int prv_member; virtual void fn(){} }
class Derived : Base { int more_data; virtual void fn(){} }
업 캐스팅 또는 다운 캐스팅이란 무엇입니까? 가 (Derived*)base_ptr;
업 캐스팅이나 풀이 죽은는?
난 당신이 기지에서 더 구체적인 무언가로 가고 있기 때문에 그것을 upcast라고 부릅니다. 다른 사람들은 최상위 계층이 루트 인 특정 계층 구조로 내려 가기 때문에 다운 캐스트라고 말했습니다. 그러나 다른 사람들은 내가 그것을 부르는 것으로 부르는 것 같습니다.
기본 ptr을 파생 ptr로 변환 할 때 업 캐스팅 또는 다운 캐스팅이라고합니까? 누군가가 공식 출처에 연결하거나 왜 그 출처를 그렇게 부르는지 설명 할 수 있다면.
virtual
는 불필요하지만 "다치게"하지 않습니다. 왜 그런 맥락에서 사용해서는 안된다고 생각하는지 자세히 설명 할 수 있습니까?