類裡面的成員變數如果是public,為什麼破壞封裝

2022-09-15 14:06:11 字數 394 閱讀 2685

如果是public屬性,那麼類外任何物件,都可以隨意改變,物件建立出來,在任何地方,任何時候都是能改變的

舉個簡單的例子:如果你乙個遊戲類 ,你建立乙個角色,屬性如果是public的,別人可以通過記憶體獲取你物件,通過物件去修改基本屬性,這樣不是就毫無安全感,

如果是函式介面,函式呼叫時棧記憶體,呼叫完後就直接釋放了.不存在固定位址.

但是成員變數是private,還是可以通過set給變數賦值啊為什麼非要是private?

可以通過函式去修改,但是讀不到函式的位址

簡單的例子,角色可以通過打怪公升級,打怪相當於set函式操作,但是別人想直接修改等級做不到的

最多重複的讓你去打怪,相當於指令碼魔獸中的指令碼

C 類裡面的哪些成員函式是內聯函式?

類定義的內聯函式分為以下3種 1.隱式內聯 class person void printname printname 定義在類裡面是隱式內聯函式 private string name 2.顯式內聯 分為在2種情況 1 在類裡面顯式宣告定義 class person inline void pri...

python的class裡面的類變數

python類裡面的注意事項 在學習python寫類的過這個中遇到些問題,感覺和以前語言寫類的方式有些差別,可能是自己學藝不精才遇到這些問題。class dog n 這是乙個類變數 類變數 n list name 這是類的name def init self,name,weapen,role,mon...

類裡面的const 編譯期間的變數和常量

類裡面的const 編譯期間的變數和常量。include include using namespace std var in compile time class fred 對size的初始化在引數列表和函式體之間,保證在使用它之前為常量。fred fred int sz size sz void...