작성
·
350
1
궁금한게 이번 강의에서보면 자식 클래스(knight)의 메모리는
Knight k; 이면
(주소)VFTable
(주소)_hp
(주소)_stemia
이렇게 되있잖아요
그러면
Player * player = &K;
는 *player는 VFTable인데
_hp에 접근 하려고 하면
*(player +4)로 접근 하는거 같더라구요(제가 어샘블리를 제대로 해석 한것인지는 모르겠습니다.)
사실 player는 knight의 시작주소를 가리키고 있는데
_stemia에 접근 못하는 이유는 player은 Player 포인터고
그렇기 때문에 컴파일러에서 Player의 맴버 변수 까지만 접근 가능하게 하는건가요?
감사합니다. 어셈블리로 분석하니 훨씬 이해가 빠르게 되는거 같아요 ^^