String类原型

来源:互联网 发布:体育场馆播放软件 编辑:程序博客网 时间:2024/05/16 12:04
class String { public:      String(const char *str = NULL);         //构造函数      String(const String &other);            //拷贝构造函数      ~ String(void);                         //析构函数      String & operate =(const String &other);//赋值函数 private:      char *m_data;// 用于保存字符串 }; //构造函数  String::String(const char *str)  {      if(str==NULL)      {          m_data = new char[1];    //对空字符串自动申请存放结束标志'\0'          *m_data = '\0';      }          else      {          int length = strlen(str);          m_data = new char[length+1];        strcpy(m_data, str);      }  }   //析构函数  String::~String(void)  {      delete [] m_data; // 或delete m_data;  }  //拷贝构造函数  String::String(const String &other){           int length = strlen(other.m_data);      m_data = new char[length+1];    strcpy(m_data, other.m_data);      }   //赋值函数  String &String::operate =(const String &other){           if(this == &other)                    //检查自赋值          return *this;         delete []m_data;                    //释放原有的内存资源      int length = strlen(other.m_data);            m_data = new char[length+1];          //对m_data加NULL判断      strcpy(m_data, other.m_data);         return *this;                    //返回本对象的引用    }