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]='