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