模擬實現string類 c

2021-08-03 07:33:45 字數 852 閱讀 9927

#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語言中要在一串字串的尾部拼接另乙個字串,我們需要做的事情就是定義兩個字串,要使...