|
C++저번에 질문했어요
답변 달아주신 분들 감사합니다ㅠㅠbb!!
보고 해결했는데 다른 것을 추가하는 과정에서 오류가 또 나서 염치불구하고 질문 드려요ㅠㅠ
txt파일로 올려놨는데 디버깅하면
_BLOCK_TYPE_IS_VALID pHead nBlockUse 이게 52번째 줄에서 뜬다고 나옵니다.
검색해보니 저 오류는 없는 값을 또 지우거나 할때 나타나는 것이라고 하더라구요.
그리고 81번째 줄을 보시면
class FemaleUser : public User
{
private:
int rate;
public:
FemaleUser(int ID,char * name, int hei, int wei, double kcal, int frate)
: User(ID, name, hei, wei, kcal) , rate(frate)
{}
virtual void GetKcal(double kcal)
{
User::GetKcal(kcal);
User::GetKcal(kcal*(rate/100.0));
}
};
이 부분이 있는데요 제가 Male, Female나눠서 사용자의 정보를 받는 이유는
GetKcal 함수에서 여자는 80, 남자는 100퍼센트의 칼로리 소모량을 나타내주기 위함입니다.
그래서 가상 함수를 사용해 class를 만들었습니다.
그런데 소모 칼로리를 출력해줄때 보면 여성이 80퍼센트가 아니라 100퍼센트로 칼로리를 소모합니다.
왜 그러는 걸까요?ㅠㅠㅠㅠㅠ
_BLOCK_TYPE_IS_VALID pHead nBlockUse 이 오류는
void User::GetKcal(double kcal)
{
calory+=kcal;
}
User::~User()
{
delete [] cusName;
}
52번째 줄 부터 때문인 것 같습니다. 제 생각에는 user가 증가하는 만큼 삭제를 해줘야 하는데
증가하는 유저를 모두 삭제해주지 않아서 나타나는 것 같습니다.
도와주세요ㅠㅠ...
|