소개
게시글
질문&답변
context action비활성화
답변해주신 분들 감사합니다.알려주신대로 시도해볼게요 :)
- 0
- 3
- 368
질문&답변
포인터 멤버 변수
답변 감사합니다 :) 답변해주신 내용이 무엇을 의미하는지는 알겠습니다만 잘 정리가 되지 않아 구체적인 예시로 다시 질문을드려볼까 합니다. class Player { public: int _hp; } class Knight : public Player { public: int _atk; int _def; } 만약 위와 같이 Player 클래스는 _hp 변수 하나만 들고 있고 Knight는 Player를 상속받고 _atk, _def가 있다고 가정하겠습니다. 1) 첫 번째 질문한 내용처럼 Player* 형태로 Knight를 받아도 해당 객체에서 Knight의 _atk와 _def에 접근이 가능할까요? 만약 클래스 포인터가 아닌 일반 클래스 Player형태로 Knight를 받게되면 _atk와 _def에 대한 데이터 소실이 발생하게 되나요? 2) 만약에 1번 질문이 YES인 경우, Player*는 이름만 Player클래스이고 실제로 해당 주소로 가면 Knight를 구성하는(_hp, _atk, _def) 객체의 주소가 있다는 의미일까요? 단지 Player*는 이름만 빌려주고 다른 주소를 사용하도록 되어있다는 개념으로 이해해도 문제 없는지 궁금합니다. 3) 2번 질문도 YES인 경우, Player* 형태로 다른 캐릭터 타입(Knight, Archer, etc...)를 받아주도록 코드를 구성한 이유는 부모클래스라는 구조적 특성을 이용해 코드 관리의 편의성(?)이나 객체지향 스탠스(?)를 유지하기 위해 사용된다고 봐도 무방할까요?
- 0
- 3
- 559