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...