inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐스팅 4총사

캐스팅4총사 강의 질문입니다

535

배기현

작성한 질문수 1

0

뒤에 부분을 다 안보고 질문드렸더니 조금 애매해졌네요.

상식적인 캐스팅이 아니라

애초에 부모가 어떤 자식의 타입이었는지 확실할때

쓰는 것이라고 하는게 맞겠네요.

강의에서 나오는 것처럼요

Player* p = new Knight();

Knight* k1 = static_cast<Knight*>(p);

말이 안되는건 아니니까 그때 쓴다 이런 뜻이었네요.

역시 한국말은 끝까지 들어봐야 되는거 같네요.. ㅎㅎ

답변은 안해주셔도 되겠습니다.

감사합니다.

=================================

일단 주말에 질문을 드려서 죄송합니다.

답변은 월요일에 해주시면 될 것 같습니다!

3분 13초부터 나오는 상속 관계끼리의 타입변환에

대해서 주석으로 이야기 해주시는 부분인데요

Player*->Knight* (다운캐스팅) 이게상식적인 캐스팅

이라고 하셨는데 아무리 들어도 뭔가 잘못된게 아닌가

싶어서요. 반대로 이야기 하신것 아닌가요?..

자식은 부모를 포함하고 있으니까 애초에 부모로도

캐스팅 될 수 있는데 부모가 자식으로 캐스팅 되는 것은 타입변환 강의에서도 위험하다고 하셨던것 같은데

혹시 player가 자식인가 싶어서 뒤에 내용도 봤는데 Knight가 자식이더군요.

 

제가 짐작하건데 반대로 이야기 하신게 아닌가 싶은데

맞나요??

업캐스팅이 상식적인것이고 다운캐스팅은 위험한것 아닌가요?

그래서 위험하니까 다운캐스팅 시에는 명시적으로 했던 것이구요.

인터넷에서 찾아봐도 다운캐스팅은 업캐스팅에 비해 안전하지 않다고 하는데 다운캐스팅이 상식적인 캐스팅이라는게 이해가 안되어서 질문드려 봅니다.

같은 질문이 있나 찾아봐도 없어 이렇게 질문글 남깁니다.

c++

답변 1

0

Rookiss

답변 안 해도 된다니 더 하고 싶어지는 심리에 의해
출첵만 하고 갑니다. 열공하세요 -_-b

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

115

2

시작이 안되네요...!

0

99

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

127

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

125

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

142

2

hello world 부터 오류 ㅠㅜ

0

191

1

지역변수가 스택? 레지스터

0

132

2

마지막 문제 질문드립니다.

0

165

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

146

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

111

1

해당 코드는 왜 오류가 날까요?

0

156

1

마지막 문제 질문 있습니다.

0

119

1

강의 마지막부분에 질문이 있습니다.

0

192

2

Field초기화

0

141

1

virtual과 override 차이

0

316

2

3:30 참조자 리턴

0

168

1

map 찾기

0

159

1

프로그램 질문드려요

0

261

1

캐스팅 질문

0

139

1