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