C++學習--使用類(1)

來源:互聯網
上載者:User

1 操作符重載

      operator op(argument-list)

     eg  operator +(argument)

注意:

          (1)重載的操作符不能違反操作符原來的文法規則,例如不能將%,重載成之使用一個操作符

            (2) 不能重新定義新的操作符

         (3)不能重載下面的操作符:sizeof   .    ::    ?:  等等

2 友元函數

    friend type operator op(argument-list)

 注意:

          (1)友元函數只有定義時加friend關鍵字,生命時和正常函數一樣

          (2)友元函數不是類的成員函數,但是可以訪問類的私人成員

 

以上兩種是重載操作符的方法,二者沒有好壞之分,根據不同的情況使用

 

3 類的自動轉換

  (1)只有一個參數的建構函式,可以把和參數相同類型轉換成類的類型

       className(int para);

    可以把整型轉換成類的類型

  注意:只有存在一個參數的建構函式時才可以,而且可以用關鍵字(explicit)顯示的取消這種轉換

  即

             explicit className(int para) 沒有轉換的功能,只是個一般的建構函式

(2)把類的類型轉換成一般的資料類型

 

              operator type();    如: operator int(); operator double();等等

注意: 沒有傳回值,沒有參數,必須是類的成員函數,而且不能存在二義性的情況

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.