请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值
发布时间:2020-12-16 07:20:13 所属栏目:百科 来源:网络整理
导读:1 #includeiostream 2 #includecstring 3 using namespace std; 4 class String{ 5 public : 6 // 默认构造函数 7 String( const char * str= NULL); 8 // 复制构造函数 9 String( const String str); 10 // 析构函数 11 ~ String(); 12 // 字符串连接 13 St
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 class String{ 5 public: 6 //默认构造函数 7 String(const char* str=NULL); 8 //复制构造函数 9 String(const String &str); 10 //析构函数 11 ~String(); 12 //字符串连接 13 String operator+(const String & str); 14 //字符串赋值 15 String & operator=(const String & str); 16 //字符串赋值 17 String & operator=(const char* str); 18 //判断字符串是否相等 19 bool operator==(const String & str); 20 //获取字符串长度 21 int length(); 22 //求子字符串[start,start+-1] 23 String substr(int start,int n); 24 //重载输出 25 friend ostream & operator<<(ostream & o,const String & str); 26 private: 27 char * data; 28 int size; 29 }; 30 //构造函数 31 String::String(const char *str){ 32 if(str==NULL){ 33 data=new char[1]; 34 data[0]=‘ |