dynamic_cast 2

ex02

들어가기 전 dynamic_cast를 공부하고 가자 https://wo-dbs.tistory.com/168 dynamic_cast dynamic_cast는 주로 다형성(polymorphism)과 관련이 있다. 이 연산자는 런타임에 안전한 형변환을 수행한다. 즉, 동적으로 객체의 타입을 확인하고, 그 결과에 따라 적절한 형변환을 수행한다. 주로 상 wo-dbs.tistory.com ex02에서는 업캐스팅을 하는 문제이다. Base 클래스 A, B, C가 상속을 받으며 업캐스팅을 한다. #include "Base.hpp" #include "A.hpp" #include "B.hpp" #include "C.hpp" #include #include #include static Base* generate() { s..

dynamic_cast

dynamic_cast는 주로 다형성(polymorphism)과 관련이 있다. 이 연산자는 런타임에 안전한 형변환을 수행한다. 즉, 동적으로 객체의 타입을 확인하고, 그 결과에 따라 적절한 형변환을 수행한다. 주로 상속과 가상 함수(Virtual Functions)를 사용하는 클래스 계층 구조에서 사용된다. dynamic_cast의 기본 형태 new_type은 형변환하고자 하는 새로운 타입을 나타내며, expression은 형변환할 값이나 포인터입니다. new_type = dynamic_cast(expression); 예제를 통해 공부하자 현재 자식이 다시 부모로 캐스팅 하려고 한다. 이런 때를 업캐스팅이라고 한다. 업캐스팅을 해주는 것이 dynamic_cast이다. Base 클래스에는 가상 함수인 pr..