劍指offer 1 賦值運算子函式

2021-08-28 14:48:44 字數 549 閱讀 6273

題目描述:

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

實現如下:是我的解法,適合c++初級程式設計師

//

// created by yanpan on 2018/9/30.

//#if 1

#include using namespace std;

class cmystring

cmystring(char *name)

cmystring(const cmystring& str);

cmystring& operator = (const cmystring& str) //需要連續賦值所以要返回引用

//防止申請記憶體時沒有申請成功,對原有例項的狀態還沒有修改 保證異常安全性

cmystring& operator = (const cmystring& str) //需要連續賦值所以要返回引用

return *this;

}

劍指offer1 賦值運算子函式

include using namespace std class cmystring cmystring const cmystring str cmystring operator const cmystring str int display cmystring private char m ...

劍指offer 1 賦值運算子函式

1.返回型別宣告為該型別的引用才可以連續賦值 2.傳入的引數型別宣告為該型別的常量引用,避免形參到實參的傳遞呼叫複製建構函式 3.在分配記憶體之前先釋放記憶體避免記憶體洩漏 4.判斷傳入的引數和當前例項 this 是否相同,如果相同則直接返回,否則釋放記憶體操作作用於本身。include inclu...

劍指offer 1 賦值元素運算子函式

為了乙個類新增乙個賦值運算子函式 class str 賦值運算子,也就是過載 號運算子。過載賦值運算子需要注意 返回自身引用,因此可以實現連 操作 傳入引數為引用,減少開銷 如果類內物件,由在堆上分配記憶體。或者說是類的析構函式會釋放某些資料成員,那麼該資料成員就需要深度拷貝 傳入自身的時候,需要判...