예전/C, C++

[C++] upcasting

showmiso 2014. 1. 28. 11:30



부모 포인터 pA에 자식 객체 Dog의 주소를 담을 수 있다.

일반함수 foo는 Animal의 포인터를 받아 cry()를 출력하는 함수이다.


foo에 자식 객체 d가 들어가서 제대로 cry가 출력되는 것을 알 수 있다.


이렇게 부모 포인터에 자식 객체의 주소를 담는 것을 upcating이라고 한다.

upcasting은 public 상속일 때만 된다. private 상속이면 Dog의 객체에서 Cry를 부를 수 없기 때문이다.