指出下面程序哪里可能有问题()
class CBuffer
{
char * m_pBuffer;
int m_size;
public:
CBuffer()
{
m_pBuffer=NULL;
}
~CBuffer()
{
Free();
}
void Allocte(int size) // (1)
{
m_size=size;
m_pBuffer= new char[size];
}
private:
void Free()
{
if(m_pBuffer!=NULL) // (2)
{
delete[] m_pBuffer;
m_pBuffer=NULL;
}
}
public:
void SaveString(const char* pText) const // (3)
{
strcpy(m_pBuffer, pText); // (4)
}
char* GetBuffer() const
{
return m_pBuffer;
}
};
int main (int argc, char* argv[])
{
CBuffer buffer1;
buffer1.SaveString("Microsoft");
printf(buffer1.GetBuffer());
return 0;
}