自己寫的 string 類

2021-05-27 14:07:24 字數 892 閱讀 4491

現在很多面試題都是要求寫乙個string類,主要檢查big 3,也就是主要檢查建構函式,析構函式和賦值函式.(不要告訴我你以為是:姚明,麥蒂,阿泰...),這也是很考驗基本功的乙個題目.我今天自己寫了乙個mystring類,順便加上了stradd函式用於字串相加,get函式用於輸出.詳細**如下,說明見注釋.

#include

#include "assert.h"

using

namespace

std;

// mystring類宣告

class

mystring

;// 建構函式

mystring::mystring(

const

char

* str

/* =null */

)else

}// 析構函式

mystring::~mystring()

// 拷貝建構函式

mystring::mystring(

const

mystring & str)

// 賦值函式

mystring &mystring::operator=(

const

mystring & str)

// 實現鏈式操作...

return

*this;}

// 相加函式

mystring &mystring::stradd(

const

mystring &str1,

const

mystring &str2)

// 獲得字串函式

char

* mystring::get()

void

main(

void)  

寫String幫助類

1 將乙個字串按照分隔符轉換成 list public void stringhelper1 foreach string item in srt 2 將乙個字串轉按照分割符轉換為陣列 public void stringhelper2 foreach string item in srt 3 把 ...

自己寫的List類

我寫的list,還沒100 完成,有空修改完補貼新 修改一下t的型別就可以模擬范型的強型別效果。例如using t system.byte using t system.int32 為什麼要自己寫?因為有時候系統的類不符合要求,例如效能,例如功能.using system using system....

string類的寫時拷貝

由於淺拷貝使多個物件共用一塊記憶體位址,呼叫析構函式時導致一塊記憶體被多次釋放,導致程式奔潰。實現string類的時候通常顯示的定義拷貝建構函式和運算子過載函式。由於釋放記憶體空間,開闢記憶體空間時花費時間,因此,在我們在不需要寫,只是讀的時候就可以不用新開闢記憶體空間,就用淺拷貝的方式建立物件,當...