C 系列 12 C 類的訪問限定符及封裝

2021-09-13 17:51:54 字數 1235 閱讀 3629

c++實現封裝的方式:用類將物件的屬性與方法結合在一塊,讓物件更加完善,通過訪問許可權選擇性的將其 介面提供給外部的使用者使用。

1. public修飾的成員在類外可以直接被訪問。

2. protected和private修飾的成員在類外不能直接被訪問(此處protected和private是類似的)。

3. 訪問許可權作用域從該訪問限定符出現的位置開始直到下乙個訪問限定符出現時為止。

4. class的預設訪問許可權為private,struct為public(因為struct要相容c),尤其在c++中,class與struct所宣告的類幾乎沒有什麼區別,僅為預設訪問許可權不同,前者為private,後者為public。

注意:訪問限定符只在編譯時有用,當資料對映到記憶體後,沒有任何訪問限定符上的區別。

在此分享一道面試題:

問題:c++中struct和class的區別是什麼?

解答:c++需要相容c語言,所以c++中struct可以當成結構體去使用。另外c++中struct還可以用來定義類。和class是定義類是一樣的,區別是struct的成員預設訪問方式是public,class是struct的成員預設訪問方式是private。

從c--->c++進步有四個特點:抽象、封裝、繼承、多型。也有面試題這樣考:物件導向的三大特性:封裝、繼承、多型。

在類和物件階段,我們只研究類的封裝特性,那什麼是封裝呢?

封裝:將資料和運算元據的方法進行有機結合,隱藏物件的屬性和實現細節,僅對外公開介面來和物件進行互動。

封裝本質上是一種管理:我們如何管理兵馬俑呢?比如如果什麼都不管,兵馬俑就被隨意破壞了。那麼我們首先建了一座房子把兵馬俑給封裝起來。但是我們目的全封裝起來,不讓別人看。所以我們開放了售票通道,可以買票突破封裝在合理的監管機制下進去參觀。類也是一樣,我們使用類資料和方法都封裝到一下。不想給別人看到的,我們使用protected/private把成員封裝起來。開放一些共有的成員函式對成員合理的訪問。所以封裝本質是一種管理。

C 訪問限定符

參考文章 樓 c 訪問限定符 public,protect,private 這些限定符是限定類的,不是限定物件的,只要型別相同就相互訪問。昨天我在筆試的時候,寫到string類的賦值函式時,突然卡住了,我要如何取出string裡面的data,它是private的,怎麼訪問呢?這道題我在書上看過的,但...

C 訪問限定符

對於c 中的訪問限定符的理解,首先得明白乙個概念,訪問限定符是用來限定類的,而不是限定物件的,只要型別相同就可以互相訪問 c 中的訪問限定符可以分為三種,public訪問 protected訪問 private訪問。public訪問 在程式的任意位置都可以訪問。protected訪問 在訪問限定符的...

C 常見訪問限定符的說明

上一節在類的建立中,提到了訪問限定符,但沒怎麼細說,我們就來研究一下 訪問限定符是用於指定成員或者型別的可訪問性的關鍵字。public 修飾的成員在類外可以被直接訪問 private 修飾的成員在類外不能被直接訪問 protected 修飾的成員在類外不能被直接訪問 此處的private 和prot...