日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

老陈学 C++ 序列之二: 友元函数

發(fā)布時間:2023/12/18 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老陈学 C++ 序列之二: 友元函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?class one{
?public:
??one(){};
??operator two ( ) const { return two(); }
??friend ostream& operator << ( ostream& os, const one& o) //成員函數(shù)還是全局函數(shù)?
??{
???return os << " i " << o.i;
??}
??int i;
?};

定義一個友元函數(shù)為內(nèi)聯(lián)函數(shù)不會改變友元函數(shù)的狀態(tài)而且它仍是一個全局函數(shù)而不是一個類的成員函數(shù)。

什么是友元(friend)?
允許另一個類或函數(shù)訪問你的類的東西。

友元可以是函數(shù)或者是其他的類。類授予它的友元特別的訪問權(quán)。通常同一個開發(fā)者會出于技術(shù)和非技術(shù)的原因,控制類的友元和成員函數(shù)(否則當你想更新你的類時,還要征得其它部分的擁有者的同意)。

友元函數(shù)要在一個類體內(nèi)說明,形式為:
friend 類型名 友元函數(shù)名(形參表);
然后在類體外對友元函數(shù)進行定義,定義的格式和普通函數(shù)相同,但可以通過對象作為參數(shù)直接訪問對象的私有成員
友元函數(shù)說明如下:
1)必須在類的說明中說明友元函數(shù),說明時以關(guān)鍵字friend開頭,后跟友元函數(shù)的函數(shù)原型,友元函數(shù)的說明可以出現(xiàn)在類的任何地方,包括在private和public部分;
2)注意友元函數(shù)不是類的成員函數(shù),所以友元函數(shù)的實現(xiàn)和普通函數(shù)一樣,在實現(xiàn)時不用"::"指示屬于哪個類,只有成員函數(shù)才使用"::"作用域符號;
3)友元函數(shù)不能直接訪問類的成員,只能訪問對象成員,
4)友元函數(shù)可以訪問對象的私有成員,但普通函數(shù)不行;
5)調(diào)用友元函數(shù)時,在實際參數(shù)中需要指出要訪問的對象,


明天預習:delete一個void指針,會刪除它指向的內(nèi)存嗎?

答案當然是,會釋放它指向的內(nèi)存,但不會調(diào)用對象的析構(gòu)函數(shù)。

轉(zhuǎn)載于:https://www.cnblogs.com/Frodo/archive/2007/08/20/862937.html

總結(jié)

以上是生活随笔為你收集整理的老陈学 C++ 序列之二: 友元函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。