運算子過載(實現CString類)
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&
{
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;
};