string類預設建構函式
//#include<iostream>//using namespace std;//#pragma warning(disable :4996)//class String//{//public:// /*String()// :_str(new char[strlen("")+1])// {// *_str = '\0';// }// String(const char*s)// :_str(new char[strlen(s) + 1])// {// strcpy(_str, s);// }*/// String(const char* s = "")// :_str(new char[strlen(s) + 1])// {// strcpy(_str, s);// }// String(const String& s)// :_str(new char[(strlen(s._str))+1])// {// strcpy(_str, s._str);// }// String& operator=(const String& s)// {// if (this != &s)// {// delete[] _str;//重新賦值時需釋放原來的空間,否則會記憶體泄露// _str = new char[(strlen(_str)) + 1];// strcpy(_str, s._str);// }// return *this;// }//// ~String()// {// delete[] _str;// }// void Display()// {// cout << _str << endl;// }//private:// char* _str;//};//void Test1()//{// /*String s1;// s1.Display();//// String s2(s1);// s2.Display();*///// String s1("abcd");// s1.Display();// String s2;// s2.Display();//// s2 = s1;// s2.Display();//////}//int main()//{// Test1();// system("pause");// return 0;//}
要注意記憶體管理,很容易記憶體流失哦!