精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

C++ 友元函數

c++ 友元函數

c++ 類和對象c++ 類和對象

類的友元函數是定義在類外部,但有權訪問類的所有私有(private)成員和保護(protected)成員。盡管友元函數的原型有在類的定義中出現過,但是友元函數并不是成員函數。

友元可以是一個函數,該函數被稱為友元函數;友元也可以是一個類,該類被稱為友元類,在這種情況下,整個類及其所有成員都是友元。

如果要聲明函數為一個類的友元,需要在類定義中該函數原型前使用關鍵字 friend,如下所示:

class box
{
   double width;
public:
   double length;
   friend void printwidth( box box );
   void setwidth( double wid );
};

聲明類 classtwo 的所有成員函數作為類 classone 的友元,需要在類 classone 的定義中放置如下聲明:

friend class classtwo;

請看下面的程序:

#include <iostream>
 
using namespace std;
 
class box
{
   double width;
public:
   friend void printwidth( box box );
   void setwidth( double wid );
};

// 成員函數定義
void box::setwidth( double wid )
{
    width = wid;
}

// 請注意:printwidth() 不是任何類的成員函數
void printwidth( box box )
{
   /* 因為 printwidth() 是 box 的友元,它可以直接訪問該類的任何成員 */
   cout << "width of box : " << box.width <<endl;
}
 
// 程序的主函數
int main( )
{
   box box;
 
   // 使用成員函數設置寬度
   box.setwidth(10.0);
   
   // 使用友元函數輸出寬度
   printwidth( box );
 
   return 0;
}

當上面的代碼被編譯和執行時,它會產生下列結果:

width of box : 10

c++ 類和對象c++ 類和對象

下一節:c++ 內聯函數

c++ 簡介

相關文章
C++基礎