菜鸟笔记
提升您的技术认知

c operator=的两种写法-ag真人游戏

class cmystring
{
public:
	cmystring(char* pdata = nullptr);
	cmystring(const cmystring &str);
	~cmystring(void);
	cmystring& operator=(const cmystring &str)
	{
		if (this != &str)
		{
			cmystring strtemp(str);
			char* temp = strtemp.m_pdata;
			strtemp.m_pdata = m_pdata;
			m_pdata = temp;
		}
		return *this;
	}
	/*
	cmystring& operator=(const cmystring &str)
	{
		if (this == &str)
		{
			return *this;
		}
		delete[] m_pdata;
		m_pdata = nullptr;
		m_pdata = new char[strlen(str.m_pdata)   1];
		strcpy(m_pdata, str.m_pdata);
		
		return *this;
	}
	*/
	
private:
	char* m_pdata;
};

 

网站地图