cosefy

编写类的String的构造函数,析构函数和赋值函数,已知类String的原型为:

class String
{
public:
	String(const char* str = NULL);
	String(const String& other);
	~String(void);
	String& operator=
		(const String& other);
private:
	char* m_data;

};

构造函数:

String::String(const char* str)
{
	if (str == NULL)
	{
		m_data = new char[1];
		*m_data = \'/0\';
	}
	else
	{
		int length = strlen(str);
		m_data = new char[length + 1];
		strcpy(m_data, str);
	}

}

析构函数:

String::~String(void)
{
	delete m_data;
	m_data = NULL;
}

拷贝构造函数:

String::String(const String& other)
{
	int length = strlen(other.m_data);
	m_data = new char[length + 1];
	strcpy(m_data, other.m_data);
}

赋值函数:

String& String::operator=(const String& other)
{
	if (this == &other)
		return *this;
	delete []m_data;
	int length = strlen(other.m_data);
	m_data = new char[length + 1];
	strcpy(m_data, other.m_data);
}

分类:

技术点:

相关文章:

  • 2020-10-14
  • 2021-11-03
  • 2021-11-01
  • 2019-03-12
  • 2021-11-03
  • 2018-04-01
  • 2021-11-03
  • 2018-07-26
猜你喜欢
  • 2021-11-03
  • 2021-11-03
  • 2021-11-03
  • 2021-09-20
  • 2021-06-29
  • 2021-11-03
相关资源
相似解决方案