分享

String 类的实现

 水中麒麟 2013-09-20


class String
{
public:
String();
~String();
String(const char * data);
String(const String & data);
String(const String& data);

String operator = (String & data);
private:
char *m_data;


};
String::~String()
{
delete []m_data;

}
String::String()
{
m_data=new char[1];
m_data='\0';

}
String::String(const char *data)
{
if(data==NULL)
{
m_data=new char[1];
*m_data='\0';
}
else
{
m_data=new char[strlen(data) +1];
strcpy(m_data,data);
}
}
String::String(const String& data)
{

m_data=new char[strlen(data.m_data)+1];
if(m_data==NULL)
{
cout<<"内存分配失败"<<endl;

exit(1);

}
strcpy(m_data,data.m_data);

}
String & String::operator = (String & data)
{
if(this==&data)
{
return * this;

}
else
{
delete []m_data;
m_data=new char[strlen(data.m_data)+1];
strcpy(m_data,data.m_data);
return *this;

}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多