如何使用友元類,友元函式

2021-09-30 05:36:26 字數 461 閱讀 1990

友元類: 當乙個類是另乙個類的友元類時,則這個類可以訪問另乙個類的私有,保護等成員變數,成員函式. 這其實已經打破了類的封裝性, 也就是說類的封裝性在這裡是個例外。 「有朋友就是好,可以走走關係的」,可以這樣理解。例如: 定義類a,類b,

class a                                      

pulbic :

inline void test()

private:

int x ,y;

friend class b;

class b

public:

inline void test()

a a;

printf("x=%d,y=%d".a.x,a.y);

}上面的**在b中就能用a的物件直接訪問私有成員變數。

友員函式也是能訪問類中私有成員函式或變數的外部函式。 工作原理同於友員類。

C 友元的學習與使用 友元函式 友元類

class person void displayperson const person p 如上操作是不可行的,因為類外的函式沒有權力呼叫類內 private 封裝的成員變數。如果想讓類外的函式使用類內成員變數,可以通過 friend 宣告該函式為這個類的友元 class person frien...

友元(友元函式 友元類 類成員函式的友元)

friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...

類 友元函式 友元類

友元函式不是當前類的成員函式,但它可以訪問該類所有的成員,包括私有成員 保護成員和公有成員。在類中宣告友元函式時,需在其函式名前加上關鍵字 friend。友元函式既可以是非成員函式,也可以是另乙個類的成員函式。class date date date int y,int m,int d void s...