使用訪問說明符能夠加強類的封裝性:
一般的,建構函式和部分作為介面的成員函式定義緊跟在public
說明符之後。
資料成員和作為實現部分的成員函式緊跟在private
之後。
乙個類可以包含0個或多個訪問說明符,對於某個說明符出現多少次也沒有限制。每個訪問說明符指定接下來的成員訪問級別,其有效範圍直到出現下乙個訪問說明符或者到達類的末尾處為止。
封裝的益處:
定義乙個類時可以使用class
和struct
關鍵字中任何乙個,唯一的區別是struct
和class
的訪問許可權不一樣。
類可以在它的第乙個訪問說明符之前定義成員:
類可以允許其他型別或者函式訪問它的非公有成員,方法是令其他類或者函式成為它的友元。
如果類想把乙個函式作為它的友元,只需要增加一條friend
關鍵字開始的函式宣告即可。
友元的宣告僅僅指定了訪問許可權,而非乙個通常意義上的函式宣告。如果希望類的使用者能夠呼叫某個友元函式,那麼必須在友元宣告之外再專門對函式進行一次宣告。
為了使友元對類的使用者可見,通常把友元的宣告與類本身放置在同乙個標頭檔案中(類的外部)。
一些編譯器允許在尚無友元函式宣告的情況下就呼叫它。不過即使編譯器支援這種行為,最好還是提供乙個獨立的函式宣告。
訪問控制與封裝
在c 語言中,我們使用訪問說明符加強類的封裝性 定義在public說明符之後的成員在整個程式內可被訪問,public成員定義類的介面。定義在private說明符之後的成員可以被類的成員函式訪問,但是不能被使用該類的 訪問,private部分封裝 即隱藏了 類的實現細節。作為介面的一部分,建構函式和部...
7 2 訪問控制與封裝
目錄完整 2 includeusing namespace std class sale data sale data string s,unsigned n,double p bookno s units sold n revenue n p sale data istream string ib...
C 中的訪問控制與封裝
訪問控制與封裝 使用訪問說明符來加強類的封裝性。public 和private 使用class或struct關鍵字 二者的唯一區別就是預設訪問許可權不太一樣 struct的預設是public,class預設是private 友元 類可以允許其他類或函式訪問它的非公有成員,方法是通過令其它類或函式成為...