C++中 public,protected, private 訪問標號

第一:private, public, protected 訪問標號的訪問範圍。

private只能由1.該類中的函數、2.其友元函數訪問。

不能被任何其他訪問,該類的對象也不能訪問。

protected可以被1.該類中的函數、2.子類的函數、以及3.其友元函數訪問。

但不能被該類的對象訪問。

public可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。

注:友元函數包括3種:設爲友元的普通的非成員函數;設爲友元的其他類的成員函數;設爲友元類中的所有成員函數。

第二:類的繼承後方法屬性變化。

private 屬性不能夠被繼承。
使用private繼承,父類的protected和public屬性在子類中變爲private;
使用protected繼承,父類的protected和public屬性在子類中變爲protected;
使用public繼承,父類中的protected和public屬性不發生改變; 

如下所示: 

 

public:

protected:

private:

public繼承

public

protected

---

protected繼承

protected

protected

---

private繼承

private

private

---

protected繼承和private繼承能降低訪問權限。

類體內的訪問沒有訪問限制一說,即private函數可以訪問public/protected/private成員函數或數據成員,同理,protected函數,public函數也可以任意訪問該類體中定義的成員
public繼承下,基類中的public和protected成員繼承爲該子類的public和protected成員(成員函數或數據成員),然後訪問仍然按類內的無限制訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章