鍍金池/ 教程/ C++/ C++友元函數(shù)
C++用戶定義異常
C++ this指針
C++存儲類
C++函數(shù)
C++交換變量值
C++ continue語句
C++注釋
C++函數(shù)遞歸
C++ goto語句
C++函數(shù)-通過值調(diào)用和引用調(diào)用
C++重載
C++語言歷史
C++反轉(zhuǎn)數(shù)字
C++ try/catch語句
C++是什么?
C++變量
C++ break語句
C++運算符
C++第一個程序
C++繼承
C++虛函數(shù)
C++將十進制轉(zhuǎn)換為二進制
C++矩陣乘法
C++對象和類
C++基礎(chǔ)輸入輸出(cin,cout,endl)
C++文件和流
C++求素數(shù)
C++ if/else語句
C++友元函數(shù)
C++命名空間
C++面向?qū)ο蟾拍?/span>
C++階乘
C++關(guān)鍵字
C++重載
C++聚合
C++結(jié)構(gòu)體
C++的特點(特性)
C++打印字母表三角
C++ switch語句
C++多態(tài)
C++ do-while循環(huán)
C++字符串
C++ static關(guān)鍵字
C++錯誤處理
C++ for循環(huán)
C語言與C++的區(qū)別
C++ while循環(huán)
C++開發(fā)環(huán)境的安裝
linux環(huán)境下編譯C++ 程序
C++枚舉
C++指針
C++斐波納契數(shù)列
C++阿姆斯壯數(shù)字
C++接口
C++教程
C++數(shù)組
C++數(shù)據(jù)抽象
C++回文程序?qū)嵗?/span>
C++打印數(shù)字三角
C++將數(shù)組傳遞到函數(shù)
C++多維數(shù)組
C++將數(shù)字轉(zhuǎn)換字符

C++友元函數(shù)

如果一個函數(shù)在C++中定義為一個友元(使用friend作為修辭符)函數(shù),那么可以使用該函數(shù)訪問類的protectedprivate數(shù)據(jù)。

通過使用friend關(guān)鍵字,編譯器知道給定的函數(shù)是一個友元函數(shù)。為了訪問數(shù)據(jù),友元函數(shù)的聲明應(yīng)該在以關(guān)鍵字friend開頭的類的主體內(nèi)部進行。

C++中的友元函數(shù)聲明

C++中的友元函數(shù)聲明的語法如下 -

class class_name  
{  
    friend data_type function_name(argument/s);  
};

C++ 友元函數(shù)示例

讓我們來看一個簡單的C++ 友元函數(shù)的例子,用來打印一個盒子的長度。

#include <iostream>  
using namespace std;  
class Box  
{  
    private:  
        int length;  
    public:  
        Box(): length(0) { }  
        friend int printLength(Box); //friend function  
};  
int printLength(Box b)  
{  
    b.length += 10;  
    return b.length;  
}  
int main()  
{  
    Box b;  
    cout<<"Length of box: "<< printLength(b)<<endl;  
    return 0;  
}

執(zhí)行上面代碼得到如下結(jié)果 -

Length of box: 10

上一篇:C++ switch語句下一篇:C++第一個程序