面試題一 string類的深淺拷貝

2021-07-30 04:46:40 字數 806 閱讀 8994

#pragma once

#include using namespace std;

//淺拷貝(析構物件時會出錯)

class cmystring

else

}//拷貝建構函式

cmystring(const cmystring& str)

:m_pdata(null)

//析構函式

~cmystring() }

//賦值運算子過載

cmystring& operator=(const cmystring& str)

return *this;

}private:

char* m_pdata;

};void teststring()

//深拷貝

class string

else

}//拷貝建構函式

string(const string& s)

:_str(new char[strlen(s._str)+1])

賦值運算子過載(返回類物件的引用,方便連續賦值)

//string& operator=(const string& s)

// // return *this;

//}//簡介寫法3

string& operator=(string s)

//析構函式

~string() }

private:

char* _str;

};void testdepthstring()

面試題 String類的淺拷貝 深拷貝 寫時拷貝

string的拷貝是面試中的經常會被問到的問題,所以,學懂string類是非常重要的。下面我們先來看一段 class string else string const string s 拷貝建構函式,相當於系統預設合成 pstr s.pstr string operator const string...

C 經典面試題之 String類

前段時間,s2的徐 同學去了一家作核能的企業做軟體測試,在應聘的時候出了這樣一道題目。寫出string類的建構函式,拷貝建構函式,析構函式,賦值函式。這道題目是一道相當經典的c 開發題目,是面試c 程式設計師時經常考的,但這次無奈徐 碰上了,為什麼呢?因為徐 入職後作的是白盒測試。include u...

C 經典面試題之 String類

這個在面試或筆試的時候常問到或考到。已知類string的原型為 class string 請編寫string的上述4個函式。普通建構函式 string string const char str else string的析構函式 string string void 拷貝建構函式 string st...