(작성중)배열 vs 다형성(more effective c++ 03)

2015. 7. 25. 03:50프로그래밍/Effective C++

728x90
728x90

다형성

기본 클래스 객체의 포인터나 참조자를 통해 파생 클래스 객체를 조작할 수 있다.

이런 포인터와 참조자를 다형성을 가지고 있다라고 말한다.

마치 여러개의 타입처럼 쓰인다는 말이다.


파생 클래스 객체의 배열(array)을 기본 클래스 포인터나 참조자를 

이용해 다형적으로 사용하려고 하면?.. 이것은 문제!

- 컴파일러는 배열에 들어있는 각 객체의 크기가 sizeof(base 객체)라고 가정한다.

(실제로는 derived 객체여야 하기때문에 문제가 생긴다.)

- 컴파일러는 배열의 크기만큼 메모리를 읽기 때문에 결과를 예상할 수 없다.


728x90
반응형