下面給出c++類的友元機制說明(對類private、protected成員訪問),需要注意的是,友元機制盡量不用或者少用,雖然它會提供某種程度的效率,但會帶來資料安全性的問題。
友元是c++提供的一種破壞資料封裝和資料隱藏的機制。
通過將乙個模組宣告為另乙個模組的友元,乙個模組能夠引用到另乙個模組中本是被隱藏的資訊。可以使用友元函式和友元類。
為了確保資料的完整性,及資料封裝與隱藏的原則,建議盡量不使用或少使用友元。
友元函式是在類宣告中由關鍵字friend修飾說明的非成員函式,在它的函式體中能夠通過物件名訪問 private 和protected成員
作用:增加靈活性,使程式設計師可以在封裝和快速性方面做合理選擇。
訪問物件中的成員必須通過物件名。
1 #include 2若乙個類為另乙個類的友元,則此類的所有成員都能訪問對方類的私有成員。3 #include 4
5using
namespace
std;67
class
point
8 13
14int getx()
1516
int gety()
1718 friend float dist(point &a, point &b);
1920
private: //
私有資料成員
2122
intx, y;
2324
};25
26float dist( point& a, point&b)
2735
36int
main()
37
宣告語法:將友元類名在另乙個類中使用friend修飾說明。
如果宣告b類是a類的友元,b類的成員函式就可以訪問a類的私有和保護資料,但a類的成員函式卻不能訪問b類的私有、保護資料。
C 類的友元機制解讀
下面給出c 類的友元機制說明 對類private protected成員訪問 需要注意的是,友元機制盡量不用或者少用,雖然它會提供某種程度的效率,但會帶來資料安全性的問題。友元是c 提供的一種破壞資料封裝和資料隱藏的機制。通過將乙個模組宣告為另乙個模組的友元,乙個模組能夠引用到另乙個模組中本是被隱藏...
C 友元函式友元類簡單說明
友元可以是乙個函式,該函式被稱為友元函式 友元也可以是乙個類,該類被稱為友元類。友元函式 友元函式的特點是能夠訪問類中的私有成員的非成員函式。友元函式從語法上看,它與普通函式一樣,即在定義上和呼叫上與普通函式一樣。下面舉一例子說明友元函式的應用。include include class point...
C 友元函式 友元類
友元函式和友元類 採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該函式的友元函式。除了友元函式外,還有友元類,兩...