Home for dream

class String{public:String(const char *str = NULL); // 普通构造函数String(const String &other);// 拷贝构造函数~ String(void);// 析构函数String & operate =(const String &other); // 赋值函数private:char *m_data;// 用于保存字符串};请编写String的上述4个函数。参考答案// String的析构函数String::~String(void)// 3分{delete [] m_data;// 由于m_data是内部数据类型,,也可以写成 delete m_data;}// String的普通构造函数String::String(const char *str)// 6分{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(const String &other) // 3分{int length = strlen(other.m_data);m_data = new char[length+1];strcpy(m_data, other.m_data);}// 赋值函数String & String::operate =(const String &other) // 13分{// (1) 检查自赋值// 4分if(this == &other)return *this;// (2) 释放原有的内存资源// 3分delete [] m_data;// (3)分配新的内存资源,并复制内容 // 3分int length = strlen(other.m_data);m_data = new char[length+1];strcpy(m_data, other.m_data);// (4)返回本对象的引用// 3分return *this;}

版权声明:本文为博主原创文章,未经博主允许不得转载。

旅行,其实是需要具有一些流浪精神的,

Home for dream

相关文章:

你感兴趣的文章:

标签云: