编写类String的构造函数、析构函数和赋值函数

来源:互联网 发布:淘宝营销推广方式 编辑:程序博客网 时间:2024/05/20 16:00


具体代码:

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 ){int len = strlen(str);m_data = new char[len+1];strcpy(m_data,str);}else//这部分不要拉掉{m_data = new char[1];*m_data = '\0';}}String::String(const String &other)//赋值{int len = sizeof(other.m_data);m_data = new char[len+1];strcpy(m_data, other.m_data);}String & String::operator =(const String &other){//1:检测是否是自赋值if ( this == &other )return *this;//2:释放原有的内存资源delete [] m_data;//3:分配新的内存资源,并复制内容int len = strlen(other.m_data);m_data = new char[len+1];strcpy(m_data, other.m_data);//4:返回本对象的引用return *this;}String::~String(void){delete [] m_data;}


原创粉丝点击