編寫類String的建構函式 析構函式和賦值函式

2022-07-31 06:12:14 字數 940 閱讀 6517

已知類string的原型為:

class string

;請編寫string的上述4個函式。

// string的析構函式

string::~string(void)

delete m_data;

// 由於m_data是內部資料型別,也可以寫成 delete m_data;

// string的普通建構函式 

string::string(const char *str=null)

if(str==null)

m_data = new char[1];

*m_data = '\0';

else

int length = strlen(str);

m_data = new char[length+1];

strcpy(m_data,str);

// 拷貝建構函式

string::string(const string &other)

int length = strlen(str);

m_data = new char[length+1];

strcpy(m_data,str);

// 賦值函式

string& string::operater=(const string&other)

// (1) 檢查自賦值 

if(this==&other)

return *this;

// (2) 釋放原有的記憶體資源  

delete m_data;

// (3)分配新的記憶體資源,並複製內容

int length = strlen(other.m_data);

m_data = new char[length+1];

strcpy(m_data,other.m_data);

return *this;

編寫類String的建構函式 析構函式和賦值函式

編寫類string的建構函式 析構函式和賦值函式,已知類string的原型為 class string public string const char str null 普通建構函式 string const string other 拷貝建構函式 string void 析構函式 string ...

編寫類String的建構函式 析構函式和賦值函式

已知類string的原型為 classstring 請編寫string的上述4個函式 普通建構函式 string string const char str else string的析構函式 string string void 拷貝建構函式 string string conststring ot...

編寫類String的建構函式 析構函式和賦值函式

01.include 02.include 03.04.05.06.char strcopy char pdest,const char psrc 07.18.pdest null 19.return ptmp 20.21.22.int strlength const char str 23.30....