劍指offer 001(賦值運算子過載函式)

2021-08-19 01:28:50 字數 573 閱讀 9178

題目描述:

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

#include

#include

class cmystring

;

思路:

給出的類是string,故在寫拷貝構造和賦值運算子過載時要考慮深拷貝,比較簡單,直接上**

**:

cmystring::cmystring(char* pdata )

else

}//拷貝構造

cmystring::cmystring(const cmystring& str)

cmystring::~cmystring()

cmystring& cmystring::operator=(const cmystring& str)

return *this;

}void cmystring::print()

int main()

劍指Offer 賦值運算子函式

按照自己淺薄的理解,敲了如下 include using namespace std class cmystring 就是定義了!cmystring char m pchar null cmystring const cmystring other cmystring cmystring opera...

劍指offer 賦值運算子函式

題目 如下為型別cmystring的宣告,請為該型別新增賦值運算子函式 class cmystring 思路 類的定義和基本形式 類其實是定義乙個特殊的資料結構,定義了類的物件包括了什麼,以及可以在這個物件上執行哪些操作 class student 成員函式定義 student student vo...

劍指offer 賦值運算子過載

還是有很多點需要注意的。判斷this與傳入的object是否是同乙個物件,相同的話直接返回 this就可以了。判斷傳入物件的陣列是否為空,空的話就不必複製,直接釋放記憶體並將指標置null即可。考慮異常安全。因為new char時如果記憶體不足會丟擲異常,這時安全的做法是先嘗試申請記憶體,申請成功後...