C 快速入門 友元關係(14)

2021-08-30 17:51:50 字數 797 閱讀 4860

c++快速入門---友元關係(14)

友元關係是類之間的一種關係。

這種關係不僅允許友元類訪問對方的public方法和屬性,還允許友元訪問對方的protected和private方法和屬性。

**如下:

others不是lovers的子類,在others::kiss()訪問不了屬性name。因為在基類lovers和others類,定義了一種友元關係。

#include #include //一對戀人 基類

class lovers

;class boyfriend : public lovers

;class girlfriend : public lovers

;//路人甲

class others

;lovers::lovers(std::string thename)

void lovers::kiss(lovers *lover)

void lovers::ask(lovers *lover, std::string something)

boyfriend::boyfriend(std::string thename) : lovers(thename)

girlfriend::girlfriend(std::string thename) : lovers(thename)

others::others(std::string thename)

void others::kiss(lovers *lover)

int main()

C 友元關係

在封裝中c 類資料成員大多情況是private屬性 但是如果介面採用多引數實現肯定影響程式效率 然而這時候如果外界需要頻繁訪問這些私有成員,就不得不需要乙個既安全又理想的 後門 友元關係 c 中提供三種友元關係的實現方式,友元函式 友元成員函式 友元類。友元函式 既將乙個普通的函式在乙個類中說明為乙...

C 友元關係

在c 中,當基類a,給與屬性protected限定時,如果想訪問該屬性,除了繼承的子類外,可在a類中宣告b類為a的友元 如13行 friend class others 友元類 friend class名 不是物件 使得友元類可以使用該類的 當a類中定義b為a的友元類,則類b可以使用a的方法和屬性 ...

C 友元關係

友元關係主要應用在類的一些保護機制訪問中,個人理解可以這樣比喻,假設類是乙個部門,它裡面有些服務所有人都可以使用,但是有些服務只能會員使用,有會員就要為會員辦一張會員卡,這裡的會員就相當於友元物件,而會員卡就是乙個宣告,對應c 為friend 其實從名字上我們也能理解肯定有種特別近的兩種關係。c 友...