After the last implementation has been improved, the following code is implemented:
#include <iostream> #include <cstring>using namespace Std;class string{public:string (char *str= ""): _str ( New Char[strlen (str+1)]) {strcpy (_STR,STR);} String (const string& str): _str (NULL) {String tmp (STR._STR); swap (_STR,TMP._STR);} ~string () {delete[] _str;} string& operator= (string& str) {swap (_STR,STR._STR); return *this;} Friend ostream& operator<< (ostream& os,const string& str);p Rivate:char *_str;};o stream& operator<< (ostream& os,const string& str) {Os<<str._str<<endl;return OS;} int main () {String S1 ("Go"); String S2 ("Die"); String S3=s1;cout<<s1;cout<<s2<<s3;getchar (); return 0;}
This article is from the "July boreas" blog, please be sure to keep this source http://luminous.blog.51cto.com/10797288/1749148
Implementation-enhanced version of the String class