C++中的public、protected與private的類成員權限設置和繼承方式

一、類成員權限

public的定義:所有範圍都能訪問。表明該數據成員、或成員函數是對所有用戶開放的

白話:所有用戶都可以直接調用

protected的定義:類自身、子類能訪問;

白話:對於子女、朋友來說,就是public的,可以自由使用,沒有任何限制;而對於其他的外部classprotected就變成private

private的定義:類自身能訪問;

白話:私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即便是子女,朋友,都不可以使用。

二、繼承方式

子類對父類的繼承方式public、protected與private是在以上定義基礎上定義了子類中父類部分的成員(public與protected)在被繼承後對外界的訪問權限。

舉例: 

父類是:public

public & public繼承 => public

public & protected繼承 => protected

public & private繼承 = > private

父類是:protected

protected & public繼承 => protected

protected & protected繼承 => protected

protected & private繼承 = > private

父類是: private

private & public繼承 => 子類無權訪問

private成員可以間接的訪問,比如用父類的getXX()方法;因爲是繼承,所以其實也是子類的方法,下同。

private & protected繼承 => 子類無權訪問

private & private繼承 = > 子類無權訪問


以下幾篇結合看,參考:

http://www.jizhuomi.com/software/96.html

http://www.jizhuomi.com/software/98.html

http://www.cnblogs.com/york-hust/archive/2012/06/01/2530799.html

http://blog.163.com/clevertanglei900@126/blog/static/1113522592010114102759821/

http://blog.sina.com.cn/s/blog_76fbd24d0100v9jh.html

http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/23/2514964.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章