1輸入輸出操作1.>> 從輸入流讀取乙個string。2.<2 #include3 #include4 #include5 #include 6
using
namespace
std;
//自己模擬實現的部分相關c——string庫函式
8int my_strlen(const
char *p) 9
17return
count; 18
} 19char* my_strcopy(char* dest, const
char*str) 20
28return
ret; 29
} 30int my_strcmp(const
char *str1, const
char *str2) 31
41}
42return (*str1 - *str2); 43
} 44char *my_strcat(char *dst, const
char *str) 45
53while (*dst++ = *str++) 54
57return
ret; 58
} 59char *my_strstr(const
char *str, const
char *substr) 60
70while (*start) 71
79if (*str2 == '\0'
) 80
83 start++; 84
} 85return
null; 86
} 8788
class
string 89
98else
99103
}104
105 string(const string& s) //
拷貝建構函式
106 :_pstr(new
char[my_strlen(s._pstr)] + 1
)107
112}
113114 ~string() //
析構函式
115120
121 string& operator=(const string&s) 賦值運算子過載
122130
return *this
;131
}132
133char& operator
(size_t index)
134143
return
_pstr[index];
144}
145const
char& operator(size_t index)const
146
149 friend ostream& operatorc ++字串支援常見的比較操作符(>,>=,=,198<
150154 friend istream &operator >> (istream &input, string &s)
155161
bool strstr(const string&s)
162174
175 string operator+(const string &s)const
//把字串s連線到當前字串的結尾 同c-sring中的石strcat()函式;
176188
return
newstring;
189}
190 size_t size()const
//返回字串的大小
191194
bool empty()const
//當前字串是否為空
195
bool
operator>(const string &s)const /
199202
bool
operator
203206
bool
operator==(const string& s)const
207210
bool
operator!=(const string& s)const
211214
215private
:216
int& getcount() //
計數217
220void
release()
221227
}228
char *_pstr;
229 };
string類中有很多函式,上面只實現了大部分常用的
下面是只測試了一部分的結果
1string類的實現
參考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...