《剑指Offer》面试题1:赋值运算符函数

时间:2021-12-03 17:22:14

《剑指Offer》 P24

面试题1:赋值运算符函数

题目:

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

class CMyString
{
public:
CMyString(char* pData = NULL);
CMyString(const CMyString& str);
~CMyString(void);

private:
char* m_pData;
};

解答:

CMyString & CMyString::operator = (const CMyString &str)
{
if(this != str)
{
CMyString strTemp(str);
char* pTemp = strTemp.m_pData;
strTemp.m_pData = m_pData;
m_pData = pTemp;
}
return *this;
}