게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금][C++초보]캐스팅?관련 질문드립니다
게시물ID : programmer_12734짧은주소 복사하기
작성자 : 아스트로보이
추천 : 0
조회수 : 421회
댓글수 : 6개
등록시간 : 2015/08/14 22:43:06
옵션
  • 베스트금지
  • 본인삭제금지
class card{};

class minion: public card{};
class magic: public card{};

class field{
public:
minion _minion;
};

class hand{
public:
card _card;
void MinionToField(field *_field){
// _field->_minion = _card //
}
};

대충 위와 같은 코드인데, 하스스톤 같은 카드 게임이라 보시면 되구요,

minion과 magic은 card를 상속받습니다.
field에는 minion 밖에 존재하지 못하고, hand에는 minion, magic이 둘다 가능해서 card를 가집니다.

그런데 hand에서 field로 minion을 넘겨 주고 싶어서 주석 처리 부분을 하면 형이 맞지 않아서 에러가 납니다.
(minion) 을 앞에 넣으면 사용자 정의 변환이 적절하지 않다고 하고 적당한 방법도 아닌 것 같습니다.

hand의 멤버 _card가 magic이거나 minion 모두 될 수는 있는데, magic이 아닌 minion만 넘겨 줄 수 잇는 방법을 모르겠습니다.
어떻게 해야 될까요??.. 알려주시면 감사하겠습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호