编写类String的构造函数、析构函数和赋值函数
2013-06-21 20:36
381 查看
具体代码:
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; }
相关文章推荐
- 编写类String的构造函数、析构函数和赋值函数,已知类String的原型
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 如何正确编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String 的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数
- 编写类string的构造函数、析构函数和赋值函数
- 编写类String 的构造函数、析构函数和赋值函数
- 编写类String的构造函数、拷贝构造函数、析构函数、赋值函数
- 编写类 String 的构造函数、析构函数和赋值函数
- 编写类String的构造函数、析构函数和赋值函数(转载)