友元函式:
友元的作用是提高程式的執行效率,但是由於它可以直接訪問類的私有和保護成員,因此破壞了類的封裝性,應謹慎使用。
注意:(1)其函式體可以在類內定義,也可以在類外定義。
(2)友元函式不是類的成員函式,它不帶有this指標,因此必須將物件名或物件的引用作為友元函式的引數,並在函式體中使用運算子「.」來訪問物件的成員。
(3)可以直接訪問該類中的所有成員(公有,保護,私有)。
(4)乙個類的成員函式也可以作為另乙個類的友元函式。
友元類:
若宣告a類為b類的友元類,則a類的所有的成員函式都可以成為b類的友元函式。
友元關係:不傳遞的,不具有交換性,不繼承。
c 友元函式與友元類
友元函式和友元類的需要 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數傳遞,型別檢...
c 友元函式與友元類
友元函式和友元類的需要 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數傳遞,型別檢...
c 友元函式與友元類
1.友元函式和友元類的需要 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數傳遞,型...