溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++ 重載賦值運算符與11選5平臺修復(fù)

發(fā)布時間:2020-07-13 16:24:00 來源:網(wǎng)絡(luò) 閱讀:242 作者:電腦在線的 欄目:MySQL數(shù)據(jù)庫

1、C++中重載賦值操作函數(shù)應(yīng)該返回什么?

  11選5平臺修復(fù)(企 娥:217 1793 408)類重載賦值操作符一般都是作為成員函數(shù)而存在的,那函數(shù)應(yīng)該返回什么類型呢?參考內(nèi)置類型的賦值操作,例如

  int x,y,z;

  x=y=z=15;
  賦值行為相當于x=(y=(z=15)),也就是賦值操作應(yīng)該返回左操作數(shù)的引用,因此,為了和內(nèi)置類型兼容,類中重載賦值操作符應(yīng)該返回左操作數(shù)的引用,即*this,如下類A的重載賦值操作函數(shù)的聲明,

  class A{};

  A& A::operator=(const A&);

2、確保重載賦值操作具有良好的行為

  對于賦值操作,首先應(yīng)該想到的是怎么處理自我賦值,當類包含指針類型的數(shù)據(jù)時尤為重要,如下所示

 class MyString{

    public:

      ...

      MyString(char *p=NULL);

      MyString& operator=(const MyString&);

    private:

      char *str;

  };

  MyString a("hello");

  MyString b("world");

  a=a;
  我們知道,進行賦值時,首先要釋放左操作數(shù)的資源,然后再根據(jù)右操作數(shù)對左操作數(shù)進行賦值,賦值操作函數(shù)如下所示

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI