第一: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成員(成員函數或數據成員),然後訪問仍然按類內的無限制訪問