#include
#include
using namespace std;
class string
string(const string &m)//拷貝建構函式
~string()//析構函式
string& operator=(string& m1)//賦值運算子過載
s = new char[strlen(m1.s) + 1];
strcpy(s, m1.s);
}return *this;
}char& operator(size_t i)//下標運算子過載(size_t為一種記錄大小的(無符號)"整型")
friend ostream& operator<<(ostream& output, string m);
private:
char* s;
};ostream& operator<<(ostream& output, string m)
void main()
{string aa;
string ab = "hello!";
string ac = ab;
cout << ab << endl;
cout << ac << endl;
ab[1] = 'a';
cout << ab<< endl;
//拷貝建構函式使用引用型別是為了避免拷貝建構函式無限遞迴下去
/*使用引數列表賦值更有高效性,原因是少了一次呼叫預設建構函式的過程
(對於資料密集型的類來說,是非常高效的)*/
/*習慣使用const來表示變數不被改變的量,使用const在一定程度上可以提高程式的安全性和可靠性*/
模擬實現String類(C )
以下就是string類的模擬實現 測試環境為vs2013 define crt secure no warnings 1 include include include using namespace std class string 拷貝建構函式 string const string s str...
模擬實現string類
include using namespace std include class string string string a 2 為什麼要用 優點在哪 string void print string operator const string a string operator const s...
模擬實現string類
在c 中,string其實就是將字串封裝起來的類,呼叫類中的成員函式可以完成對類內的字串進行增刪查改,並且將操作符過載,可以更直觀的操作字串,省去了c語言中很多麻煩的操作,有現成的成員函式供我們使用。舉乙個簡單的例子 在c語言中要在一串字串的尾部拼接另乙個字串,我們需要做的事情就是定義兩個字串,要使...