友元函数的简单说明
首先友元函數為了方便一個類去訪問另一個類中的成員函數和成員變量,需要使用關鍵字friend在函數的聲明時,友元函數不屬于任何類的成員函數,它是在類外定義的全局函數??梢栽诒绢愔新暶饔言瘮?#xff0c;聲明如下:
friend void printMsg();然后在類外定義void printMsg(myClass *s)函數。在此函數中可以通過形參myClass類對象或指針,引用來訪問類myClass的成員變量,這里對于任何訪問權限的成員變量都可以訪問。
還可以使用另一種方式,用一個類的成員函數作為另一個類的友元函數。
在類A中定義成員函數:
在類B中聲明類A中的函數void printMsg(B *s)為類B的友元函數。
class B{ public: friend void A::printMsg(B *s);//在類B中聲明A的友元函數 };這樣類A就可以通過printMsg函數的指針s訪問類B的私有成員了。
還有另一種友元類,將一個類聲明為另一個類的友元類。
在另一個類中聲明first為last的友元類。
class last{ public: friend class first;//first作為last的友元類 };這樣first的成員函數就可以訪問last的私有成員了。
總結
- 上一篇: 计算机学业测试答案解析,计算机测试题及答
- 下一篇: js $.ajax stop,jQuer