訪問控制與封裝
使用訪問說明符來加強類的封裝性。public 和private
使用class或struct關鍵字
二者的唯一區別就是預設訪問許可權不太一樣:struct的預設是public, class預設是private
友元
類可以允許其他類或函式訪問它的非公有成員,方法是通過令其它類或函式成為它的友元。
一般來說,最好在類定義開始或者結束前的位置集中宣告友元。
友元的宣告僅僅指定了訪問的許可權,而非通常意義上的函式宣告。
友元不存在傳遞性。每個類負責控制自己的友元類或友元函式。
函式過載和友元
過載函式的友元需要各自單獨宣告,不是公用的。
關鍵概念:封裝的益處
確保使用者**不會被無意間破壞封裝物件的狀態。
被封裝的類的具體實現細節可以隨時改變,而無須調整使用者級別的**。
封裝、繼承、多型是類的三個特性。
過載成員函式
和非成員函式差不多。
可變資料成員
乙個可變資料成員永遠不會是const,即使它是const物件的成員。
mutable size_t access_ctr;
類資料成員的初始值
當我們提供乙個類內初始值時,必須以符號 = 或花括號表示。
類型別
即使兩個類的成員列表完全一致,他們也是不同的型別。
友元宣告和作用域
訪問控制與封裝
使用訪問說明符能夠加強類的封裝性 一般的,建構函式和部分作為介面的成員函式定義緊跟在public說明符之後。資料成員和作為實現部分的成員函式緊跟在private之後。乙個類可以包含0個或多個訪問說明符,對於某個說明符出現多少次也沒有限制。每個訪問說明符指定接下來的成員訪問級別,其有效範圍直到出現下乙...
訪問控制與封裝
在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...