#ifndef _string_
#define _string_..
.#endif
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
#endif
(資料放在private內)
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
#endif
(建構函式名稱與類名稱同名)
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
這三個函式不能用const修飾,因為函式內的具體**會改變傳進的引數值
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
#ifndef _string_
#define _string_
class
stirng
;//謹記切勿丟分號
#ifndef _string_
#define _string_
class
stirng
private
:char
* m_data;};
//謹記切勿丟分號
在標頭檔案中class body外編寫
inline
//盡量把函式寫為內聯函式
string::
string
(const
char
* cstr =0)
else
}
inline
string::
~string()
inline
string::
string
(const string& str)
inline
//返回值型別 類名 函式名
string& string::
operator=(
const string& str)
//這裡&是引用
c 實現的string類
普通版 class string else 拷貝建構函式 string const string str 引數為引用,如果為值的話 可能無限呼叫拷貝構造陷入死迴圈 pstr new char strlen str.pstr 1 賦值過載函式 string operator const string ...
C 中String類的實現
include include using namespace std class string else 拷貝建構函式 開闢跟源字串長度一樣長的空間給目標物件 string string s pstr new char strlen s.pstr 1 賦值運算子的過載 因為考慮到連續賦值的情況,故...
C 中String類的實現
原文 string是c 中的重要型別,程式設計師在c 面試中經常會遇到關於string的細節問題,甚至要求當場實現這個類。只是由於時間關係,可能只要求實現建構函式 析構函式 拷貝建構函式等關鍵部分。string的實現涉及很多c 的基礎知識 記憶體控制及異常處理等問題,仔細研究起來非常複雜,本文主要做...