private:
char*m_pdate;
public:
//构造函数
CString::CString(){};
//拷贝构造
CString::CString(const CString& t_cstring)
{
if(m_pdate!=NULL)
delete[]m_pdate;
m_pdate=new char[strlen(t_cstring.m_pdate)+1] //分配空间
strcpy(m_pdate,t_cstring.m_pdate);
};
//析造函数
CString::~CString()
{
if(m_pdate!=NULL)
delete[]m_pdate;
};
//重载=
CString&CString::operator=(const CString& t_cstring)
{
if(m_pdate!=NULL)
delete[]m_pdate;
m_pdate=new char[strlen(t_cstring.m_pdate)+1] //分配空间
strcpy(m_pdate,t_cstring.m_pdate);
return *this;
};
//重载==
bool CString::operator==(const CString& t_cstring)
{
if(strcpy(m_pdate,t_cstring_m_pdate)==0)
return true;
else
return false;
};
//重载+
CString&CString::operator+(const CString& t_cstring)
{
CString* temp;
int a_len=strlen(this.m_pdate);
int b_len=strlen(t_cstring.m_pdate);
temp->m_pdate=new char[a_len+b_len+1] //分配空间
strcpy(temp->m_pdate,m_pdate); //复制字符串
strcat(temp->m_pdate,t_cstring.m_pdate) //连接字符串
return *temp;
};