c 類中的私有成員變數有什麼作用

2021-03-11 00:08:13 字數 909 閱讀 4843

1樓:匿名使用者

私有成員

抄變數,即定義在baiprivate區域的成員變數du。

對於本類成員函式來說,該zhi變數與其dao它成員變數並無區別。使用上和作用上也都相同。

對於通過物件訪問,私有成員變數無法通過物件訪問。通過這一方式可以起到保護一些資料不被隨意修改的效果。

另外,在出現繼承時,基類的私有成員變數不會被繼承。

所以,如果存在想保護不被物件引用,或者不想被繼承的成員變數,需要定義為私有。

2樓:匿名使用者

設定成共有的 不利於類封裝,會讓客戶端直接訪問成員變數 這與c++的封裝思想相悖。故對不允許客戶直接操作的成員變數應設定為私有 並可提供 介面訪問該變數

3樓:匿名使用者

通過函式自己能bai控制外du界的輸入,必要時返回錯誤zhi。

如果直dao接暴漏內部變數,會讓

版你無法控制權賦值不當帶來的問題。

另外如果內部變數改名稱或結構,還可以在函式中新增轉換,只要改此函式即可,

否則,你不得不找出所有引用改變數的地方,然後做更改。

c++中,類的私有成員變數放在什麼段中,是在堆疊段中嗎?

4樓:s親友團

你說bai的應該是對

象的成員變數du

如 begar(不懂zhi程式設計的程式設計師) 所說,物件dao的成版員變數就放權在物件內

如果物件本身是堆疊(ss)裡的,那麼它的(非靜態)資料成員也在堆疊裡如果物件本身是堆裡的,那麼它的(非靜態)資料成員也在堆裡如果物件本身是ds裡的,那麼它的資料成員也在ds裡所謂public/private/protected規定的是成員的「存取」許可權

而ss/ds/heap是「儲存」方式,與前者沒有任何關係

c中以類b作為另類a的成員變數時的問題

class b bai class b只有一個帶引數du的構造zhi函dao數private int m i class a b m b class b class b只有一個帶引數的建構函式private int m i class a b m b 一個類不能作為另一類的成員,只能將一個類的物件作...

C 成員函式的使用有哪些限制,C 類成員函式什麼情況下必須定義引數?

必須為其指標所指向的物件分配記憶體才可以進行strcpy操作。如果沒有分配記憶體,則 strcpy pname,p 把p複製到 沒有記憶體存放!這可能會導致未知的情況發生,程式會崩潰.以下是修改後的程式。注 用構造分配記憶體 new 必須要用析構 delete 釋放記憶體,否則會造成記憶體洩露 me...

C類指標作用域和區域性變數的問題,C有關區域性變數及其作用域和生存期的問題

這個問題是因為你使用了區域性作用域的類的地址 不是像你說的全部初始化了 而是由於區域性作用域中的manager a脫離了作用域後被自動析構了 在原來位置上的值都是未定義的 相當於你在main函式中定義一個int,但不給它賦值,你除錯的時候你就會發現這個int的值很奇怪 解決的方法就是用new申請分配...