C 最基礎的string類

2021-10-05 07:47:55 字數 884 閱讀 9596

string類也是當年我校招的時候很多公司的筆試必出題,話不多說,直接上**。

#include

using

namespace std;

//直接宣告類。

class

string

string::

string

(const

char

* str)

else

}string::

string

(const string& str)

//拷貝構造也屬於建構函式,所以無返回值。

string::string&

operator=(

const string& str)

//賦值操作函式一定有返回值

delete m_data;

//釋放原來的記憶體

int len = str.

length()

; m_data =

newchar

[len +1]

;strcpy

(m_data, str.m_data)

;//m_data已經存放了資料

return

*this

;//所以返回類物件的引用,this指標的值*this

}string::

~string()

順帶記個知識點。

char* m_data = 「dfghjk」;//求m_data大小的方法為: strlen(m_data)。結果為6。屬於c風格的字串。

string ss = 「dfghjk」; //求ss大小的方法為:ss.length();結果為6,。類物件直接呼叫length方法即可。

C 語言基礎(實現string類)

string類的實現 涉及到 拷貝構造函式呼叫的三種情況 深拷貝淺拷貝 const修飾為常函式 過載輸出 過載賦值運算子 過載下標運算子 拷貝構造函式呼叫的三種情況?1.用乙個物件初始另乙個物件 2.用物件作為實參傳遞給函式 3.函式的返回值為物件,建立臨時物件作為返回值 深拷貝在計算機中開闢了一塊...

C 語言基礎 16 string類

使用 string 類需要包含標頭檔案,下面的例子介紹了幾種定義 string 變數 物件 的方法 include include using namespace std intmain string s int len s.length cout 注意 與c不同,string末尾沒有 0 字元,所...

c 基礎 字串的處理 string類

string型別可以看作char的唯讀陣列 如 string s hello world for int i 0 ic 中字串有乙個重要的特性 不可變性,字串一旦宣告就不再可以改變,所以只能通過索引來讀取指定位置的char,不能對指定位置的char進行修改。如果要對char進行修改,那麼就必須建立乙...