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

2021-03-03 20:39:18 字數 899 閱讀 1199

1樓:s親友團

你說bai的應該是對

象的成員變數du

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

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

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

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

2樓:匿名使用者

私有成員

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

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

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

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

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

3樓:匿名使用者

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

4樓:匿名使用者

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

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

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

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

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

派生類能否直接訪問基類的私有成員若不能,應如何實現

不能不過可以在基類裡面增加公有的setxx和getxx方法,在子類裡面通過這些getxx和setxx方法間接訪問基類的私有成員變數 不能。只能通過基類來訪問。不能訪問 也不可實現 也沒有實現的必要 你理解出了問題 類回成員的既然 定義答為私有成員就是為了除本類外不能讓任何類訪問 你試圖修改這個規則只...

怎樣在C定義類中定義訪問資料成員的成員函式

一般都是這樣做的啊,成員變數定義成private,提供對外的public函式,要訪問內部的成員變數的話,必須通過這種成員函式,get,set 資料成員和bai成員函式是乙個類的du兩個基本的屬性。成員函zhi數可dao以呼叫資料成員,資料成專員按照不同要求設為屬private public和prot...

在c 中自増運算子放在變數前和變數後有什麼區別,該

其實應該這樣問,在vc6中有什麼區別。答 例如b 0 a b 結果是b 1,a 1。要是換成a b 那麼a 0,b 1。x返回值是增後值 x 返回值是增前值那個表示式的返回值是x y 1 自增前 c 裡面的應用符號 為什麼有的在變數名前面,有的在後面?有什麼區別?sales item operato...