public,protect,private訪問許可權
阿新 • • 發佈:2019-01-08
第一: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:只能由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繼承能降低訪問許可權。