String類系統預設實現的函式

2021-06-04 23:12:25 字數 667 閱讀 8111

string類中系統預設實現了4個函式,但是在程式中我們常常自己要去實現,下面就是實現的**:

在使用string的過程中,如果拷貝建構函式和賦值函式採用了系統設計的話,會出現錯誤,因為系統只是實現了淺拷貝,也就是只用了指標賦值的形式,這樣往往在程式設計的過程中出現錯誤。所以如果自己用到了,一定要自己實現:

class string

;string::string()

string::string(const string &other)

string::string(const char *str)

else }

string& string::operator=(const string &other)

delete m_data; //此處一定要先施放掉原來的空間,不釋放的話,以後就沒有機會釋放了

int length = strlen(other.m_data);

m_data = new char[length+1];

strcpy(m_data, other.m_data);

return *this;

}string::~string()

ps:此類經常作為面試過程中的考題,正確掌握有助你的面試表現。

string類的實現

參考c primer.string類的實現,清翔兔 06,jan.includeusing namespace std class string string void private char m data inline string string const char str inline st...

String類的實現

學習資料結構寫了乙個string的類,貼出來求指教 ifndef string h h define string h h include include include define defaultsize 128 class string maxsize為傳入引數的string string c...

string類的實現

include using namespace std class string public string const char str 0 普通建構函式 string const string other 拷貝建構函式 string void 析構函式 string operator const...