c語言字串的表示形式只有char型陣列,而c++語言增加了string的封裝類,整合了一些實用的成員函式,其實也是對運算子的過載,以便於使用者的使用,如判斷運算子》、<、==,比char型陣列的比較strcmp方便多了。此外還過載了賦值運算子=和訪問元素符,以及增加一些友元函式,可以支援cin 、cout等實現連續的輸入和輸出。為區別string標準類庫,本文定義了string類以實現以上所述的功能。
string類的標頭檔案
#ifndef string_h_
#define string_h_
#include using namespace std;
class string;
#endif
string類的函式實現原始檔
#include "string.h"
#include int string::inumstr=0;//類內靜態成員變數初始化,需要去除static關鍵字,並在變數前保持其變數型別。
string::string()//預設建構函式
string::~string()//析構函式
string::string(const char * st)//以char型字元陣列為引數的建構函式
string::string(const string & st)//拷貝建構函式
int string::getlength()const//獲取字串長度
string & string::operator= (const string & st)//賦值運算子過載函式
string & string::operator= (const char * st)//賦值運算子過載函式
char & string::operator(int i)//字串對應char型陣列訪問符【】過載函式
const char & string::operator(int i)const//字串對應char型陣列訪問符【】過載函式
ostream & operator<<(ostream & os,const string & st)//友元函式過載《操作符
bool operator > (const string st1,const string st2)//友元函式過載》比較運算子
return len1>len2;
}bool operator < (const string st1,const string st2)//友元函式過載《比較運算子
bool operator == (const string st1,const string st2)//友元函式過載==比較運算子
{ int len1=st1.len;
int len2=st2.len;
for(int i=0;i
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...