對友元的介紹

2021-09-23 14:23:39 字數 1240 閱讀 1450

一.對友元的介紹分為友元函式和友元類。

二.對友元函式的介紹分為普通友元函式和友元成員函式。

1.對普通友元函式的介紹:將普通函式宣告為友元函式。

**示例如下:

#includeusing namespace std;

class sum

friend void display(sum &);//將普通成員函式宣告為該類的友元函式

void display_sum()

void display(score2 &s);//宣告display函式,形參為score2物件,注意需要進行提前宣告

private:

float ch; float en;

};class score2

friend void score1::display(score2 &s);//宣告此函式為該類的友元函式

private:

float mat; float phy;

};void score1::display(score2 &s)

int main()

(1)注意提前引用宣告,如上述**中的

void display(score2 &s);需要提前進行引用宣告 class score2;

(2)只能單向訪問,形參一般是類物件。

三.對友元類的介紹。

(1)友元的關係是單向的。

(2)友元的關係無傳遞性。

(3)宣告友元類的一般形式:friend 類名

(4)宣告某一類為另一類的友元類,則某一類的所有成員函式都可以訪問另一類的所有成員。

示例**如下:

#includeusing namespace std;

class score2;//對類score2進行提前引用宣告

class score1

void display(score2 s);//對display函式進行宣告,形參為類物件

private:

float ch; float en;

};class score2

friend score1;//宣告score1為score2的友元類

private:

float mat; float phy;

};void score1::display(score2 s)

int main()

C 友元介紹

友元分為 友元函式和友元類 友元提供了一種突破封裝的方式,有時提供了便利。但是友元會增加耦合度,破壞了封裝。友元函式可以直接訪問類的私有成員,它是定義在類外部的普通函式,不屬於任何類,但需要在類的內部聲 明,宣告時需要加friend關鍵字。class date private int year in...

對c 友元函式和友元類的理解

1,友元函式的定義和作用 我們已知道類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數...

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

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