C 類的友元機制說明

2022-06-05 06:12:12 字數 1018 閱讀 7702

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

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