运算符重载(实现CString类)

来源:互联网 发布:企业流程再造与优化 编辑:程序博客网 时间:2024/04/29 08:56

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;

};

原创粉丝点击