1. 程式人生 > >劍指offer-面試題1:賦值運算子函式

劍指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;      //返回例項自身的引用,才能進行連續賦值
}