首页 > 其他 > 详细

string实现

时间:2014-10-21 16:52:41      阅读:221      评论:0      收藏:0      [点我收藏+]
class _string
{
public:
    _string(const char* str=NULL);
    _string(const _string& another);
    ~_string();
    _string& operator=(const _string & rhs);

private:
    char* m_data;
};

// _string a ="abc"
_string::_string(const char* str/* =NULL */)
{
    if(str == NULL)
    {
        m_data = new char[1];
        m_data[0] = \0;
    }
    else
    {
        m_data = new char[strlen(str) + 1];
        strcpy(m_data,str);
    }
}

// _string a _string b a = b
_string& _string::operator=(const _string& rhs)
{
    if(this == &rhs) 
        return *this;

    delete[] m_data;
    m_data = new char[strlen(rhs.m_data)+1];
    strcpy(m_data,rhs.m_data);

    return *this;
}

// _string a _string b = a
_string::_string(const _string& another)
{
    m_data = new char[strlen(another.m_data)+1];
    strcpy(m_data,another.m_data);
}

_string::~_string()
{
    delete[] m_data;
    m_data = NULL;
}

 

string实现

原文:http://www.cnblogs.com/kangbry/p/4040477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!