inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐스팅 4총사

객체 관련 질문

283

정준혁

작성한 질문수 27

0

"캐스팅 4총사"의 6:49

 

Player* p = new Knight(); 부분에서는 들고 있는 건 Player지만 원본은 Knight라는 게 무슨 말인지 모르겠습니다..

객체 C++

답변 1

1

Rookiss

image말 그대로 변수는 player 타입이지만, 실제 만들어준 원본 객체는 Knight라는 겁니다.

0

정준혁

그러면 player타입 변수지만 Knight라는 원본 객체를 의미하기 때문에 class를 Knight로 선언해 담고 있는 정보들을 사용할 수 있는 건가요?

0

Rookiss

그건 아닙니다. Player타입의 변수기 때문에 딱 빨간색 영역에만 접근 가능하고,
노란 부분까지 접근하고 싶으면 캐스팅(Knight*)을 해줘야 합니다.

0

정준혁

그러면 Player* p = new Knight();는 Knight가 Player을 상속 받고, Knight라는 원본 객체를 담고 있는 Player타입이라는 의미인데, Knight라는 원본 객체를 선언한 이유가 있을까요?? 어차피 Player가 담고 있는 부분만 접근할 수 있으니까요..

0

Rookiss

캐스팅(Knight*)하면 Knight 부분도 접근이 가능합니다.
이렇게 하는 이유는 각종 타입을 Player로 모아서 관리하기 위함입니다.
(Knight, Archer, Mage ...)
강의 어딘가에서 이 내용은 설명을 했을텐데 어느 부분인지 기억이 가물가물하네요.
중요한 내용이니 한참 더 고민해보시기 바랍니다.

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

0

541

1

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

0

442

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

830

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