c 復現String類的實現過程

2021-10-10 16:29:28 字數 1586 閱讀 7637

#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 的基礎知識 記憶體控制及異常處理等問題,仔細研究起來非常複雜,本文主要做...