来自「visualCplusplus学习课件大连东软培训教材」· 代码 · 共 59 行

TXT
59
字号
#include <iostream>
using namespace std;

class CMyString
{
public:
	CMyString(const char *pszData);
	CMyString(const CMyString& objStr);
	CMyString &operator =(const CMyString& objStr);
	CMyString &operator =(const char* pszData);
protected:
private:
	char *m_pszData;
};

CMyString::CMyString(const char *pszData)
{
	if (pszData == NULL)
	{
		m_pszData = new char[1];
		*m_pszData = '\0';
	}
	m_pszData = new char[strlen(pszData) +1];
	strcpy (m_pszData, pszData);
}

CMyString::CMyString(const CMyString& objStr)
{
	m_pszData = new char[strlen(objStr.m_pszData) +1];
	strcpy(m_pszData, objStr.m_pszData);
}

CMyString &CMyString::operator =(const CMyString& objStr)
{
	if(this == &objStr)
	{
		return *this;
	}
	delete[] m_pszData;
	m_pszData = new char[strlen(objStr.m_pszData) +1];
	strcpy(m_pszData, objStr.m_pszData);
	return *this;
}

CMyString &CMyString::operator =(const char* pszData)
{
	delete[] m_pszData;
	m_pszData = new char[strlen(pszData) + 1];
	strcpy(m_pszData, pszData);
	return *this;
}

void main()
{
	CMyString mStr("kdfjkj");
	CMyString mStr1(mStr);
	mStr = "kjfkjk";
	mStr1 = mStr;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?