String构造函数实现

来源:互联网 发布:数据库的逻辑结构设计 编辑:程序博客网 时间:2024/06/01 22:44
class Cstring {public:    Cstring(char *p = NULL);    Cstring(const Cstring&);    Cstring& operator=(const Cstring&);    ~Cstring();private:    char *m_data;};Cstring::Cstring(char*p){    if(p == NULL) {        m_data = new char[1];        m_data[0] = '\0';    }    else {        m_data = new char[strlen(p)+1];        strcpy(m_data, p);    }}Cstring::Cstring(const Cstring&other) {    if(&other != this){        m_data = new char[strlen(other.m_data)+1];        strcpy(m_data, other.m_data);    }}Cstring& Cstring:: operator=(const Cstring&other) {    if(&other == this) {        return *this;    }    if(m_data) delete[] m_data;    m_data = new char[strlen(other.m_data)+1];    strcpy(m_data, other.m_data);    return *this;}Cstring::~Cstring() {    if(m_data) {        delete [] m_data;    }}

0 0
原创粉丝点击