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 如果是過載雙目來操作符 即為類源 的成...