C String簡易實現

2021-08-09 11:32:49 字數 1374 閱讀 1568

「kstring.h」

#ifndef kstring_h_

#define kstring_h_

#include class kstring;

#endif

「kstring.cpp」

#include "kstring.h"

#include //預設建構函式 建立空string

kstring::kstring()

kstring::kstring(const char* str_t)

kstring::kstring(const kstring& t)

//雖然加入證同測試的賦值操作 但是該函式並不具備異常安全性

kstring& kstring::operator=(const kstring& t)else}/*

//既有證同測試也增加了異常安全性

kstring& kstring::operator=(const kstring& t)else}*/

//析構函式 用於釋放指向的字串所在記憶體

kstring::~kstring()

//返回當前string字元數

int kstring::ksize()

//過載<< 以便可以直接對kstring物件進行輸出操作

std::ostream& operator<<(std::ostream& out_t, const kstring& t)

//non-const版

char& kstring::operator(int n)

////const char& kstring::operator(int n)const

//const版 用於const物件時呼叫

char kstring::operator(int n)const

//以下是對關係運算子過載 以便可以直接對該kstring物件進行比較

bool operator>(const kstring& s1,const kstring& s2)else

}bool operator<(const kstring& s1,const kstring& s2)else

}bool operator==(const kstring& s1,const kstring& s2)else

}bool operator>=(const kstring& s1,const kstring& s2)else

}bool operator<=(const kstring& s1,const kstring& s2)else

}

測試**就不帖上來了,測試功能都正常~因為是簡易版與c++string相比還是有很多功能沒有去實現,有興趣的可以加以完善 新增其他相應功能~

c string 實現逆序

include include using namespace std int main string str cvicses string s str.rbegin str.rend cout s 一,型別別名 size type 無符號整型 iterator 迭代器型別 const iterat...

C String類的實現

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

C String類的實現

include using namespace std class string string void private char m data inline string string const char str inline string string const string other i...