예전/C, C++
[C++] upcasting
showmiso
2014. 1. 28. 11:30
부모 포인터 pA에 자식 객체 Dog의 주소를 담을 수 있다.
일반함수 foo는 Animal의 포인터를 받아 cry()를 출력하는 함수이다.
foo에 자식 객체 d가 들어가서 제대로 cry가 출력되는 것을 알 수 있다.
이렇게 부모 포인터에 자식 객체의 주소를 담는 것을 upcating이라고 한다.
upcasting은 public 상속일 때만 된다. private 상속이면 Dog의 객체에서 Cry를 부를 수 없기 때문이다.