C 成員許可權及友元介紹

2021-09-26 23:47:15 字數 1308 閱讀 2988

對於c++類,可以定義三種不同訪問控制許可權的成員。這三種分別是public公有型別,private私有型別,protected保護型別。

友元介紹

類可以允許其他函式或者類訪問它的非公有成員,方法是令其成為友元

class count

; friend void fn1(count obj); //宣告友元函式

private:

int a;​};

//定義友元函式

void fn1(count obj)

int main()

注意,友元函式訪問乙個類的私有成員和保護成員是通過物件來訪問

友元關係注意:

還可以令乙個類作為本類的友元,也可以把另乙個類的成員函式作為本類的友元

a中宣告b為友元,表示b可以訪問a 私有和保護成員

class count

;class ctime

}void fn2()

}private:

count obj[20]; //定義20個count物件

};int main()

乙個類指定另乙個類為友元類,相當於友元類的成員函式都成為了友元函式,可以訪問此類的所有成員。

當把另乙個類的成員函式作為本類友元時,必須注意彼此依賴關係,按順序宣告定義

class student;          //這裡宣告student

//1.我們先定義teacher類,其中宣告clear函式

class teacher

int clear(student obj);

//這裡切記不能定義它,因為clear函式用到了student類的物件

};​//2.接下來定義student類,其中包括對clear的友元宣告

class student

friend int teacher::clear(student obj);

private:

int m_score;

};//3.定義clear,這時候才能使用student成員

int teacher::clear(student obj)

int _tmain(int argc, _tchar* ar**)

注意順序,慢慢體會

————————————————————部分參考

C 許可權控制 及友元

c 訪問控制許可權 c 訪問控制許可權設定是針對類而言,而不是針對類的例項化成員。c primer 5.0中對public和private的說明。最開始理解訪問控制許可權時,結合了運算子過載的概念,遇到了下面問題 當初誤解這個例子,以為是許可權控制的問題 但現實並不是 該處語句需要在語句前面增加描述...

c 的類成員許可權以及友元

c 中類是一種抽象的資料型別,裡面包含成員變數 一般定義為私有 和一些成員函式 一般定義為公有 對於使用者來說不需要了解類中具體的 只需要知道類的功能以及如何使用就ok了。這樣就實現了類資料的隱藏和封裝。類大致包含私有 private 公有 public 保護的 protected 訪問許可權如下 ...

C 友元函式 友元類 友元成員函式

眾所周知,c 控制對類物件私有部分的訪問。通常,公有類方法提供唯一的訪問途徑,但是有時候這種限制太嚴格,以至於不適合特定的程式設計問題。在這種情況下,c 提供了另外一種形式的訪問許可權 友元,友元有3種 友元函式 友元類 友元成員函式。通過讓函式成為類的友元 即 友元函式 可以賦予該函式與類的成員函...