——可以訪問類的私有成員的非成員函數函數
將其原型放在類聲明中,並在原型聲明前加上關鍵字friendspa
friend Time operator *(double m, const Time &t); // goes in class declaration
Time operator *(double ml, const Time &t) // friend not used in definition { ... }
只有在類聲明中的原型中才能使用friend。除非函數定義也是原型,不然不能在函數定義中使用該關鍵字blog
只有類聲明能夠決定哪個函數是友元,所以類聲明仍然控制了哪些函數能夠訪問私有數據。總之,類方法和友元只是表達類接口的兩種不一樣的機制接口