1.友元的作用是什麼?友元提供了在不同類的成員函式之間、類的成員函式與一般函式之間進行資料共享的機制。通過友元,乙個普通函式或另乙個類中的成員函式可以訪問類中的私有成員和保護成員。c++中的友元為封裝隱藏這堵不透明的牆開了乙個小孔,外界可以通過這個小孔窺視內部的秘密。
友元的正確使用能提高程式的執行效率,但破壞了類的封裝性和資料的隱蔽性,導致程式可維護性變差,因此一定要謹慎使用。
作為一種程式設計技術手段,友元為程式設計師提供了一種物件導向程式和面向過程程式相互銜接的介面。從根本上說物件導向的分析與設計方法並不能徹底解決現實世界中的一切需求。許多按照物件化設計的軟體系統常常保留一些供早期程式訪問的介面,來擴大自身功能,提高自己產品的競爭能力。友元較為實際的應用是第6章講到的運算子過載,從而提高軟體系統的靈活性。
2. 友元概念的引入雖然方便了類之間的資料共享,但是否削弱了物件的封裝性?
c++中的友元為封裝隱藏這堵不透明的牆開了乙個小孔,外界可以通過這個小孔窺視內部的秘密。友元的正確使用能提高程式的執行效率,但破壞了類的封裝性和資料的隱蔽性,導致程式可維護性變差,因此一定要謹慎使用。
c c 友元函式友元類,及const作用
友元的作用在a裡面加friend class b 使得b類可以訪問a類裡面的protected和private的成員函式或成員變數 因此,可以在b裡面使用a.x來訪問a類的私有成員int x 如果沒有這句,這段 編譯不過的。但注意一點,在a裡面宣告了這句,只能讓b類內部訪問a類的保護或私有成員,反之...
友元(友元函式 友元類 類成員函式的友元)
friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...
C 友元函式和友元類(作用及優缺點)
一 友元函式 二 友元類 三 友元的優缺點 結合著類的特性,可知 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某...