inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

다형성 #2

이번 강의에서

366

이준호 (경소담)

작성한 질문수 6

1

 궁금한게 이번 강의에서보면 자식 클래스(knight)의 메모리는

Knight k; 이면

(주소)VFTable

(주소)_hp

(주소)_stemia

이렇게 되있잖아요

그러면

Player * player  = &K;

는 *player는 VFTable인데

_hp에 접근 하려고 하면

*(player +4)로 접근 하는거 같더라구요(제가 어샘블리를 제대로 해석 한것인지는 모르겠습니다.)

사실 player는  knight의 시작주소를 가리키고 있는데

_stemia에 접근 못하는 이유는 player은 Player 포인터고

그렇기 때문에 컴파일러에서 Player의 맴버 변수 까지만 접근 가능하게 하는건가요?

C++

답변 1

0

Rookiss

그렇습니다.
C++ 문법상 Player* 인 상황에서는,
(설령 원본이 Knight라 하더라도) Player 자체 정보만 접근 가능한 것입니다.

0

이준호 (경소담)

감사합니다. 어셈블리로 분석하니 훨씬 이해가 빠르게 되는거 같아요 ^^

visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.

0

541

1

정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?

0

441

1

strcpy() 구현 관련 질문

0

513

1

빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?

0

452

1

클래스 타입의 포인터 질문합니다

0

546

1

입력값을 enum 값에 넣어주는거 이제 막혔나요?

0

497

1

템플릿 특수화 관련 질문

0

384

1

포인터 관련 질문합니다!

0

263

1

Unable to start assembler. Check your settings.

0

829

2

cpu선택

0

539

1

포인터 질문이 있습니다

0

322

1

20:35 에서 구조체 크기에 대한 질문입니다!

0

584

1

iterator 삭제관련

0

406

1

함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!

0

310

1

15 분 45초 대 질문

0

308

0

스택 프레임 질문합니다!

2

306

1

오른값 참조 in 게임

0

384

0

동적할당 질문이 있습니다

0

449

1

안녕하세요 메모리에 대해 질문드립니다.

0

304

1

함수객체 의 매개변수

0

358

1

복사생성자

0

434

1

main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요

0

419

1

포인터 실습 강의를 보고 궁금한게 있습니다.

0

353

1

스택 오버플로우

2

790

1