String類的具體實現

2021-07-29 11:47:53 字數 1373 閱讀 9195

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