劍指offer 面試題1 賦值運算子函式

2021-10-17 11:23:01 字數 928 閱讀 8028

本題考點:

c++基礎語法理解,如運算子函式過載,常量引用等

對記憶體洩漏的理解,比如當涉及到堆區資料時,要深拷貝,並且new和delete對應

**異常安全性的理解,比如如果選擇先刪除原有記憶體,在開闢新的記憶體時,如果開闢失敗(記憶體滿或其它)就會影響程式執行(指標為空指標)

#include

#include

//劍指offer 面試題1 賦值運算子函式

//如下為型別cmystring的宣告,為該型別新增賦值運算子函式

class

cmystring

;//引數建構函式

cmystring::

cmystring

(char

* pdata )

else

}//拷貝建構函式

cmystring::

cmystring

(const cmystring& str)

cmystring& cmystring::

operator=(

const cmystring& str)

return

*this;}

cmystring::

~cmystring()

}/*********************************test***********************************/

void cmystring::

print()

void

test1()

// 賦值給自己

void

test2()

// 連續賦值

void

test3()

intmain()

劍指offer 面試題1 賦值運算子函式

題目 如下為型別cmystring的宣告,請為該型別新增賦值運算子函式。class cmystring 當面試官要求應聘者定義乙個賦值運算子函式時,他對 會關注以下幾點 是否把返回值的型別宣告為該型別的引用,並在函式結束前返回例項自身的引用 即 this 只有返回乙個引用,才可以允許連續賦值。否則如...

劍指offer 面試題1 賦值運算子函式

題目要求為下面乙個類實現乙個賦值運算子的函式 class cmystring 我們要實現任意的乙個類的賦值運算子函式,都要注意一些方面 書上的解法給的確實很完備,而且後來用了一種巧妙的方法讓程式自動釋放記憶體。但我覺得重點是他提到的異常安全性的處理,這裡的話如果我們在new的時候記憶體不夠,而我們又...

《劍指Offer》面試題1 賦值運算子函式

要求 如下型別為cmystring的宣告,請為型別新增賦值運算子函式。class cmystring 測試用例 把乙個cmystring的例項賦值給另外乙個例項 把乙個cmystring的例項賦值給自己 連續賦值 本題考點 對c 基本語法的理解,如運算子過載 常量引用等。考查對記憶體洩漏的理解 對於...