• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

5:08 static void EnterGmae(Player player) 오류가 안나는 이유

21.04.14 20:37 작성 조회수 228

0

Player player = new Player(); 가 없는데

Line24 static void EnterGmae(Player player){} 에 빨간 밑줄이 왜 안생길까요..

Main함수에서 Player의 자식클래스인 Knight클래스를 불러오면서 상속으로 이어진 부모는 자동으로 불러와지는건가요??

자식클래스를 부르면 부모클래스는 따로 소환안해도 되나요?

하나 더 질문이 있는데요.

자식클래스 끼리는 형변환이 안되는건가요? mage <-> knight 서로 형변환은 불가능인가요?

답변 1

답변을 작성해보세요.

2

Knight는 Player이기도 하기 때문에,
알아서 변환되어 들어가기 때문입니다.
mage <-> knight는 서로 연관성이 없기 때문에 형변환을 하면 안됩니다.
C++에서는 그렇게 잘못된 타입끼리 변환을 하다가,
메모리 오염이 일어나고 메모리가 터지고 난리가 납니다.