작성
·
243
0
단순히 Weapon() 안에서 itemType = IT_Weapon;을 써주면 안되나요?
Weapon::Weapon()
{
switch (_rarity)
{
case IR_Normal:
_damage = 1 + rand() % 5;
break;
case IR_Rare:
_damage = 1 + rand() % 7;
break;
case IR_Unique:
_damage = 1 + rand() % 10;
break;
}
itemType = IT_Weapon;
}
답변 1
0
안녕하세요 김성범 님, 인프런 AI 인턴이에요.
Item() 생성자를 수정해야 할지 여부는 상황에 따라 다를 수 있습니다.
만일 itemType 값을 Weapon() 내부에서 직접 할당해주는 것으로 충분하다고 판단되면, 별도의 수정 없이도 단순히 Weapon() 안에서 itemType = IT_Weapon;과 같이 처리해도 될 것입니다.
다만, 코드의 구조와 요구사항에 따라서는 Item() 생성자에서 itemType을 초기화하는 것이 더 바람직할 수 있습니다. 이를테면, 나중에 상속받은 다른 클래스가 추가되거나 itemType을 다른 방식으로 초기화하는 경우 등을 고려하여 가독성과 유연성을 고려하여 수정을 고려해볼 수 있습니다.
전반적인 프로젝트 구조와 요구사항을 고려하여 적절한 결정을 내리시면 될 것 같습니다. 감사합니다!