剑指offer-面试题1:赋值运算符函数

如下为类型CMyString的声明,请为该类型添加赋值运算符函数。

解析:给一个类进行运算符重载。

关键部分代码:

CMyString& CMyString::operator =(const CMyString &str)
{
     if(this == &str)
          return *this;   //判断传入的参数和当前实例是不是同一个实例。

     delete []m_pData;      //是否释放实例已有的内存
     m_pData = nullptr;

     m_pData = new char[strlen(str.m_pData)];    
     strcpy(m_pData,str.m_pData);
  
     return *this;      //返回实例自身的引用,才能进行连续赋值
}  

  

猜你喜欢

转载自www.cnblogs.com/JohnTeslaaa/p/9814066.html