——能夠訪問類的私有成員的非成員函式
創建友元:
將其原型放在類宣告中,并在原型宣告前加上關鍵字friend
friend Time operator *(double m, const Time &t); // goes in class declaration
- operator*()函式不是成員函式,因此不能使用成員運算子呼叫
- 訪問權限與成員函式相同
Time operator *(double ml, const Time &t) // friend not used in definition
{
...
}
只有在類宣告中的原型中才能使用friend,除非函式定義也是原型,否則不能在函式定義中使用該關鍵字
友元是否有悖于OOP:
只有類宣告可以決定哪一個函式是友元,因此類宣告仍然控制了哪些函式可以訪問私有資料,總之,類方法和友元只是表達類介面的兩種不同的機制
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/13747.html
標籤:C++
上一篇:C++ 運算子多載
下一篇:C++ rand函式
