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 友...