字符串类String的设计

来源:互联网 发布:做淘宝什么最赚钱 编辑:程序博客网 时间:2024/06/07 18:59
#include<iostream>using namespace std;class String{public:    String();    String(const char *str=0);    String(const String &other);    String &operator=(const String &other);    ~String();private:    char *m_data;};//默认构造函数String::String(){    m_data=new char[1];    *m_data=0;}//自定义构造函数String::String(const char *str){    if(str==0)    {        m_data=new char[1];        *m_data=0;    }    else    {        m_data=new char[strlen(str)];        strcpy(m_data,str);    }}//拷贝构造函数String::String(const String &other){    m_data=new char[strlen(other.m_data)+1];    strcpy(m_data,other.m_data);}//析构函数String::~String(){    delete [] m_data;}//重载赋值运算符函数String &String::operator=(const String &other){    //自检查,防止自己赋值给自己    if(this==&other)return *this;    //删除原来的内存资源    delete [] m_data;    m_data=new char[strlen(other.m_data)+1];    strcpy(m_data,other.m_data);    return *this;}
0 0