友元函數有this指針嗎 友元函數有什么作用,它主要用在哪些情況下?
友元函數有什么作用,它主要用在哪些情況下?朋友的功能是提供一個直接訪問對象私有成員的接口。通過friends,另一個類中的不同函數或成員函數可以訪問該類中的私有成員和受保護成員。用法:1)必須在類的描
友元函數有什么作用,它主要用在哪些情況下?
朋友的功能是提供一個直接訪問對象私有成員的接口。通過friends,另一個類中的不同函數或成員函數可以訪問該類中的私有成員和受保護成員。
用法:
1)必須在類的描述中描述friend函數,該類以關鍵字friend開頭,后跟friend函數的函數原型。friend函數的描述可以出現(xiàn)在類中的任何地方,包括私有部分和公共部分;
2)注意friend函數不是類的成員函數,因此friend函數的實現(xiàn)與普通函數相同,不需要實現(xiàn)它使用“:”來指示它是哪個類屬于,并且只有成員函數可以使用“:”范圍符號;
3)友元函數不能直接訪問類成員,只有對象成員;
4)友元函數可以訪問對象的私有成員,但是普通函數不能;
5)調用友元函數時,要訪問的對象應該在實際參數中指明;
6)類之間的友元關系不能被繼承;
7)一個類的成員函數也可以是另一個類的友元,但必須先定義這個類。
擴展數據:
友元函數的成員函數:
假設f是要正確聲明的函數,C是與其相關的類;
1。虛函數必須是成員函數。如果f必須是一個虛函數,讓它成為C的成員函數。運算符>>和運算符>或運算符
3。只有非成員函數才能鍵入最左邊的參數。如果f需要鍵入最左邊的參數,則設f為非成員函數。如果f還需要訪問C的非公共成員,那么讓f成為C的朋友函數;
4。在其他情況下,將其聲明為成員函數;
5。如果上述條件均不成立,則設f為C的成員函數。
參考源: