C 友元函式

2021-04-18 16:56:43 字數 963 閱讀 4067

1樓:匿名使用者

友元函式一般用在類中,比如在主函式外定義一個函式,如果在一個類中不把其宣告為友元函式的話,是不能呼叫它訪問類中的私有成員變數的,而如果定義了,就可以呼叫類中的私有成員變數。

給你兩個例子:

#include

using namespace std;

class student

;void student::get()

void mm(student &t)

int main()

你可以試試把mm這個函式不宣告為友元函式,編譯會出錯,因為它不能呼叫類的私有成員,其實就是這麼簡單的應用多理解理解就會了

2樓:玩蛋鳥

#include

using namespace std;

class date;

class time

;class date

date(int m,int d,int y)int main()

3樓:匿名使用者

友元就是可以訪問私有資料成員及私有成員函式的東東。。它相當於一個全域性的東東。。但可以訪問私有的東東。

給個例子。。

class testa;

class testb;

void f_f( testb& t );

void f_f( testa& t );

class testa // 在這裡,test只有 get函式,沒有set函式。

};class testb // b和a一樣,不過我們來設一下友元};void f_f( testa& t )void f_f( testb& t )

int main( )

編譯就會報錯啦。。是f_f( testa )的。

C作為友元的自增運算子過載,在c中,用友元函式過載後置自增運算子時,其參數列中的引數個數為

這個bai是前du置。zhi 有錯,dao 已改正內。這個是後容置 在c 中,用友元函式過載後置自增運算子時,其參數列中的引數個數為?一個,在後遞增運算子過載函式的引數中加一個int型的引數。運算子 和 有前置和後置兩種形式,如果不區分前置和後置,則使用operator 或operator 即可 否...

c語言pow 函式問題,C語言pow 函式問題。

應該浮點型整型數點面資料丟失造精度準確程式實參a,b,c都整型所warning資料精度丟失 樓下的說的都對,那我給你提供一個另外的方法的,直接不使用math標頭檔案裡的函式,利用其原理自己編寫一個可以隨意改變型別的函式。這是int的。include int pow int x,int y void ...

為什麼c中過載流操作符要用友元函式

1.用友元函式過載流操作符,首先是因為友元函式可以訪問類內部成員 2.不用成員函式過載流操作符,是因為流操作符左邊必須是要新增成員函式的類 因為不用右元怎麼訪問物件的內容呢。c 中的過載運算子 和 為什麼是只可以為友元函式,不可是成員函式?我覺得沒問題呀,10 如果是過載雙目來操作符 即為類源 的成...