mystring.cpp

来自「这是编程之道C-C++中的源代码,很简练,可以用于相关教学和重新熟悉C-C++时」· C++ 代码 · 共 39 行

CPP
39
字号
// 类CMyString的实现
#include "mystring.h"
#include <string >
using namespace std;

// CMyString的析构函数
CMyString::~CMyString()
{
	if(m_data)				//如果指针m_data不是NULL,则要释放它所占的内存空间
		delete [] m_data; 
	m_data = NULL;			//释放内存空间后将指针置为NULL,这是一个很好的编程习惯
	cout <<"MyString 对象被销毁\n";
}

// CMyString的缺省构造函数 
CMyString::CMyString() 
{
	m_data = new char[1];	//在缺省的情况下,建立一个空字符串
	*m_data = '\0'; 
	cout <<"调用缺省的构造函数,MyString 对象被创建\n";
}

// CMyString的普通构造函数 
CMyString::CMyString(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); 
	}
	cout <<"调用带参数的构造函数,MyString 对象被创建\n";
}

⌨️ 快捷键说明

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