C++的public、protected、private 詳解

1、對於單個類來說,這三個範圍限定符的意義如下:


公有成員(public member) 在程序的任何地方都可以被訪問。實行信息隱藏的類將其public 成員限制在成員函數上,這種函數定義了可以被一般程序用來操縱該類類型對象的操作
私有成員(private member) 只能被成員函數和類的友元訪問。實行信息隱藏的類把其數據成員聲明爲private
被保護成員(protected member) 對派生類derived class 就像public 成員一樣,對其他程序則表現得像private

總之,對於單個類的成員函數來說,無論成員變量是public、protected還是private,他都可以訪問,但是,對於類的對象(也就 是類的實例 instance)來說,只能訪問public類型的變量和成員函數,不能訪問protected和private類型的

2、對於類繼承來說,也有public、protected和private三種方式的繼承,這三種繼承的定義如下(以下都假設A是基類,B是派生類):

public繼承:A類中public類型成員在B中還是public的,A類中protected類型成員在B中是protected的,A類中private類型成員在B中不可見

protected繼承:A類中public類型的成員在B中變成protected類型,A類中protected類型的成員在B中還是protected類型,A類中private類型的成員在B中不可見

private繼承:A類中public和protected類型的成員在B中全變成private類型,A類中private類型的成員在B中不可見


(2012-03-28,文章來源——http://www.cnblogs.com/super119/archive/2011/04/05/2005625.html


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