@ 16. 1 ~ 17. 1/C++

포인터 상속 virtual 객체 자꾸 까먹네.

namoeye 2014. 6. 26. 23:36

A

B : public A

C : public B

이런경우

A* = new A B C;

라면 virtual의 경우 각 new의 ABC에 해당되는 virtual 함수가 실행됨.

그리고 new의  경우 아래단위로 밖에 안됨

B* = new A 는 안됨 new B C는 됨..

 

virtual함수가 아닌 일반함수의 경우

A* = new ABC라면

new ABC와는 상관없이 A의 일반함수만 호출됨...B*이면 B의 일반함수와 A의 일반함수가.

 


나만 읽고 쓰기 편하게 정리..