C 類的友元機制解讀

2022-10-06 02:27:09 字數 857 閱讀 3963

下面給出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 友元函式 友元類

友元函式和友元類 採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該函式的友元函式。除了友元函式外,還有友元類,兩...