關於 友元函式 的 種種

2021-06-17 15:23:17 字數 697 閱讀 3894

1、 友元函式 

通過物件的引用

可以直接 訪問私有變數,(不能直接訪問私有變數),而一般的函式則不可以。

2、友元是一種定義在類外部的普通函式,但它需要在類體內進行說明,為了與該類的成員函式加以區別,在說明時前面加以關鍵字friend。友元不是成員函式,但是它可以訪問類中的私有成員。友元的作用在於提高程式的執行效率,但是,它破壞了類的封裝性和隱藏性,使得非成員函式可以訪問類的私有成員。  

1 #include "stdafx.h"

2 #include 3

4 class complex //複數類

5 15 friend complex operator+(complex &com1, complex &com2);//友元函式過載雙目運算子+

16 void showsum();

17 };

18 19

20 friend complex operator+(const complex &com1,const complex &com2)//友元運算子過載函式

21 25 void complex::showsum()

26 {

27 std::cout<0)

29 std::cout<<"+";

30 if(imag!=0)

31 std::cout<

友元(友元函式 友元類 類成員函式的友元)

friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...

友元函式 友元類 友元成員函式

注意友元成員函式定義的3個步驟 include include include using namespace std class a class c class a class b void c display const a a 3.最後定義display,此時才可以使用a的私有成員 void ...

友元函式 友元類 友元成員函式

一般來說,類內的私有資料是對外不可見的,但在有些情況下,我們需要在類外對該類的私有資料進行訪問,這就需要用到一種新技術 友元 friend 即在宣告前新增關鍵字friend。友元關係是單向的,即如果a是b的友元,但b不一定是a的友元 友元關係無傳遞性,即如果a是b的友元,b是c的友元,但a不一定是c...