#include <iostream.h>
#include <string.h>
class CMember
{
public:
CMember()
{
m_pName = NULL;
m_pAddr = NULL;
m_pTelNo = NULL;
}
~CMember()
{
cout << \"~CMember()소멸자 호출\" << endl;
FreeMemberData();
}
void InputMemberData()
{
char temp[1024];
cout << \"이름 : \";
cin.getline(temp,1024);
m_pName = new char[strlen(temp)+1];
strcpy(m_pName,temp);
cout << \"주소 : \";
cin.getline(temp,1024);
m_pAddr = new char[strlen(temp)+1];
strcpy(m_pAddr,temp);
cout << \"전화번호 : \";
cin.getline(temp,1024);
m_pTelNo = new char[strlen(temp)+1];
strcpy(m_pTelNo,temp);
}
char * GetName() const
{
return m_pName;
}
private:
char * m_pName;
char * m_pAddr;
char * m_pTelNo;
};
class CMemberpointerArray
{
public:
CMemberpointerArray():m_pData(NULL),m_iIndex(0),,m_iMaxArray(100)
{
cout << \"CMemberpointerArray()생성자 호출\" << endl;
m_pData = new CMember*[m_iMaxArray];
}
~CMemberpointerArray()
{
cout << \"~CMemberpointerArray()소멸자 호출\" << endl;
for(int i = 0 ; i< m_iIndex; ++i)
{
m_pData[i]->FreeMemberData();
}
delete [] m_pData;
m_iIndex = 0;
m_iMaxArray = 0;
}
void InsertMember()
{
if (m_iIndex >= m_iMaxArray)
{
cout << \"더 이상 입력할 공간이 없습니다.\" << endl;
return;
}
m_pData[m_iIndex]->InputMemberData();
++(m_iIndex);
}
private:
CMember * * m_pData;
int m_iIndex;
int m_iMaxArray;
};
void main()
{
CMemberpointerArray m1;
m1.InsertMember();
}
난 m_pData에 CMember배열 걸고하려고했거든?
검은색표시줄 왜 에러나지.
수업듣는거말고 혼자 뭔가 창조해보려고 원래있던코드(C로 강사가 짠거) 혼자 C++로 수정했는데 개발리네 아빡쳐.
코드 이상한느낌들면 보기편하라고 절반넘게 지워서그런거니 양해바람.
음 헤더 파일 문제 같은데요 2008로 코딩 했을떄 님이 말하는 부분은 오류 안나오던데 제가 고친것은 헤더 파일뿐이라서 #include<iostream> #include<cstring> namespace using std; 이 부분을 추가 해보세요