題目1 新增賦值運算子函式

2021-07-22 13:15:15 字數 515 閱讀 5240

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

#include#includeusing namespace std;

class cmystring;/*

定義賦值運算子函式(過載運算子)一定注意以下:

1.把返回值的型別宣告為該型別的引用,並在函式結束前返回例項自身的引用(即*this)。

2.把傳入的引數的型別宣告為常量引用。

3.釋放例項自身已有的記憶體。

4.判斷傳入的引數和當前的例項(*this)是不是同一例項。

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

/*上面幾點很重要:但是還要考慮到 異常安全性的問題。

下面**為更優

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

return *this;

}

1 賦值運算子函式

面試題1 如下為型別cmystring的宣告,請為該型別新增賦值運算子函式。class cmystring 介紹過載賦值 主要困惑的是,為什麼定義函式的時候使用了 下面重點講解這個 cmystring operator const cmystring str 過載操作符是一些函式,其名字為關鍵字op...

賦值運算子函式

賦值運算子函式的 需要關注幾點 1 是否把返回值的型別宣告為該型別的引用,並在函式結束前返回例項自身的引用 即 this 只有返回乙個引用,才可以允許連續賦值。否則如果函式的返回值void,該賦值運算子將不能做連續賦值。2 是否把傳入的引數的型別宣告為常量引用。引數宣告為引用可以避免無謂的消耗,提高...

賦值運算子函式

題目 如下為型別cmystring的宣告,請為該型別新增賦值運算子函式。class cmystring 1 經典解法,初級程式設計師 cmystring cmystring operator const cmystring str 2 考慮異常安全的解法,高階程式設計師 cmystring cmys...