友元類的定義和用法


1.概述
①友元:是定義一個類是,該主動聲明哪些其他類或函數是它的朋友,進而給他們定向提供對類的訪問特權。
②友元是C++提供的一種破壞數據封裝和數據隱藏的機制。
③通過友元將一個模塊聲明為另一個模塊的友元,一個模塊能夠引用到另一個模塊中本是被隱藏的信息。
④可以使用友元函數和友元類。

建議:為了確保數據完整性,及數據封裝與隱藏原則,建議盡量不使用或少使用。

2、友元函數

①友元函數是在類的聲明中由關鍵字friend修飾說明的非成員函數,在它的函數體中能通過對象名訪問 private和protected 成員。

②作用:增加靈活性,使程序員可以在封裝和快速性方面做合理選擇。

③訪問對象中的成員必須通過對象名。

④友元是單向的。

友元函數的定義方法(以定義一個Point類為例)

(該函數傳入引用,節約工耗)

此時,就會遇到在函數中改變對象私有信息的危險,破壞數據的封裝。
例如:

輸出:

對比原先的輸出:

如果想防止對象的私有數據被更改 , 可以在傳入引用時 加 const修飾 例如:

這樣 在函數中再想更改對象的私有數據時就會報錯,例如:

至於const的用法 相信大家都見過了,在后面的博客中會加以補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM