Class Unit
{
public :
int hp;
Unit(int hp_);
void Attack(Unit A)
{
A.hp -=10;
}
};
Unit::Unit(int hp_)
{
hp = hp_;
}
void main()
{
Unit player(100),enemy(100); // 플레이어와 적의 객체화
player.Attack(enemy); //플레이어가 적을 공격
cout <<enemy.hp<< endl;
}
C#만 조금 다뤄보다가 C/C++을 처음 접해 공부하고있습니다.
C++로 간단한 턴제 텍스트 rpg를 만들다가 문제가 생겨 좀더 단순화하여 위와같은 코드를 실험해 봤습니다.
화면에 90이라는 hp가 출력될꺼라 예상했지만 초기치인 100이 그대로 출력되었습니다.
player.Attack(enemy) 가 안먹혔다는 건데 이유가 뭘까요.
그냥 메인에다가 enemy.hp -=10 은 잘만 먹히는데 말이지요..