#include <iostream>
#define DataAmount 20
using namespace std;
typedef struct PersonInfo{
char Name[20];
int Age;
char Id[20];
char PassWord[20];
}PI;
class PersonInfoClass{
private:
PI PersonInfoData[DataAmount];
int PersonInfoDataAmount;
public:
PersonInfoClass();
~PersonInfoClass();
};
PersonInfoClass::PersonInfoClass()
{
int i;
for(i=0; i<DataAmount; i++)
{
strcpy(PersonInfoData[i].Name, "이름 없음");
PersonInfoData[i].Age=0;
strcpy(PersonInfoData[i].Id, "아이디 없음");
strcpy(PersonInfoData[i].PassWord, "비밀번호 없음");
}
}
이 코드
#include <iostream>
#define DataAmount 20
using namespace std;
typedef struct PersonInfo{
char Name[20];
int Age;
char Id[20];
char PassWord[20];
}PI;
class PersonInfoClass{
private:
PI *PersonInfoData;
int PersonInfoDataAmount;
public:
PersonInfoClass();
~PersonInfoClass();
};
PersonInfoClass::PersonInfoClass()
{
PersonInfoData=(PI*)malloc(sizeof(PI)*DataAmount);
int i;
for(i=0; i<DataAmount; i++)
{
strcpy(PersonInfoData[i].Name, "이름 없음");
PersonInfoData[i].Age=0;
strcpy(PersonInfoData[i].Id, "아이디 없음");
strcpy(PersonInfoData[i].PassWord, "비밀번호 없음");
}
}
로 바꾸면
PersonInfoData 위 코드랑 똑같이 보호되는거 맞음?
안되는코드구나;
그러면 PersonInfoData=(struct PersonInfo)malloc(sizeof(structPersonInfo)*DataAmount);를 생성자 함수로 넣어서..
malloc ?