Programming Language/C++

16-2 C++ 형 변환 연산 - dynamic_cast

JTesseract 2019. 6. 27. 19:17

dynamic_cast : 상속관계에서의 안전한 형 변환

 

<사용하는 경우>

상속관계에 놓여 있는 두 클래스 사이에서 유도 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로 형 변환하는 경우

 

<예시>

dynamic_cast<T>(expr)

- T는 변환하고자 하는 자료형의 이름(객체의 포인터 or 참조형)을 둠

- expr은 변환의 대상

 

<코드>

 

<예외경우>

"기초 클래스가 Polymorphic클래스(하나 이상의 가상함수를 가진 클래스)인 경우 기초 클래스의 포인터 및 참조형 데이터를 유도 클래스의 포인터 및 참조형으로의 형 변환을 허용함