代码:
由类String 的定义,写出成员函数的实现。包括:构造函数、拷贝构造函数、析构函数、赋值函数
如下:
class String{ public: String(const char *str=NULL);//构造函数 ~String(void);//析构函数 String &operate=(const String &other);//赋值函数 String (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; } //编写类的拷贝构造函数 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::operate=(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); return *this;//返回本对象的引用 }