C++ 友元(friend關鍵字)、類中的重載、操作符重載(operator關鍵字)


C++ 中友元的用法:

  1、在類中使用friend關鍵字聲明

  2、類的友元可以是其它類或者具體函數

  3、友元不是類的一部分

  4、友元不受類中訪問級別的限制

  5、友元可以直接訪問具體類中的所有成員。

 

友元聲明使用格式:  

class class_name()
    {
        int x;
        int y;
        public:
            friend void func(class_name& p);
    };
    void func(class_name& p)
    {
        
    }

友元關系不具備傳遞性

類的友元可以是其它類的成員函數

類的友元可以是某個完整的類——所有的成員函數都是友元

 

 

 

友元小結:

  友元是為了兼容c語言的高效而誕生的。

  友元直接破壞了面向對象的封裝性

  友元關系不具備傳遞性

  類的友元可以是其它類的成員函數

  類的友元可以是某個完整的類  

 

 

類中的函數重載:

  1、函數重載的本質是相互獨立的不同函數

  2、C++中通過函數名、函數參數確定函數調用

  3、無法直接通過函數名獲得重載函數的入口地址

  4、函數的重載只能在相同的作用域

 

函數重載的重要意義:

  通過函數名對函數功能進行提示。

  通過參數列表對函數用法進行提示

  擴展系統中已經存在的函數功能

 

 

C++ 操作符重載(operator):

  C++中的重載能夠擴展操作符的功能。

  操作符的重載以函數的方式進行。

  本質:

  用特殊形式的函數擴展操作符的功能。

operator關鍵字可以定義特殊的函數,通過函數重載操作符。

class Type

{

  Type operator sign (const Type &t, const Type & t2)

  {

    Type ret;

    return ret;

  }    

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM