클래스가 Player
이고 Creature *character
멤버 변수는 Elf : public Creature
파생 클래스를 가리 킵니다.다른 클래스의 개인 포인터가 가리키는 클래스에서 개인 정보를 얻으려면 어떻게해야합니까?
Player
개체를 선언 한 다음 해당 구성원 중 하나가 Elf
을 가리키고 정보를 가져올 수 있기를 원합니다.
본인은 데이터 회원이 비공개이어야한다고 생각하지만 특별한 경우입니까, 아니면 Elf
회원의 정보를 main
기능에서 가져올 수 있습니까?
void Player::set_character(Creature &c)
{
character = &c;
}
...
Player me;
Elf me_elf;
me.set_character(me_elf);
괜찮아 보입니다. 문제를 재현하는 최소한의 예를 게시 할 수 있습니까? – juanchopanza
게시 한 코드가 올바른 것으로 보입니다. 다른 부분에 오류가있는 것 같습니다. 정확하게 런타임 오류는 무엇입니까? http://sscce.org/ –
을 만들 수 있습니까? 지금 어떻게 든 작동 할 수 있습니다. 방금 내가 한 것을 알았 으면합니다. 미안 해요, 이제 포인터를 비공개로 할 때'Elf'에 액세스하는 방법을 알아야합니다. 비공개로 유지하려고한다고 가정합니다. – Leonardo