c (友元函式)

2021-09-18 07:12:00 字數 594 閱讀 9634

//為了讓aux類能夠訪問,需要超前宣告budget類

class budget;

class aux

float getauxbudget()

//該函式將訪問budget類中的私有資料成員,第二個引數是budget類的乙個引用

void addbudget(float,budget &);

};

在budget類的public屬性下的成員函式宣告增加下面一句,將aux類中的addbudget函式宣告為本類的友元函式。

//宣告為友元函式

//其實就是告訴編譯器,該函式可以訪問本類中的私有資料成員

friend void aux::addbudget(float,budget &);

原始檔中函式實現

//aux類中的函式成員訪問budget類中的私有資料成員

void aux::addbudget(float b,budget &bud)

這樣就可以在主函式中通過aux類的成員函式訪問並修改budget類中的私有成員函式。但是這樣也破壞了類的封裝性。

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

眾所周知,c 控制對類物件私有部分的訪問。通常,公有類方法提供唯一的訪問途徑,但是有時候這種限制太嚴格,以至於不適合特定的程式設計問題。在這種情況下,c 提供了另外一種形式的訪問許可權 友元,友元有3種 友元函式 友元類 友元成員函式。通過讓函式成為類的友元 即 友元函式 可以賦予該函式與類的成員函...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...