class和struct的區別
3 回答
慕村9548890
TA貢獻1884條經驗 獲得超4個贊
class和struct的區別:
1、class是引用類型,struct是值類型;
2、class可以繼承類、接口和被繼承,struct只能繼承接口,不能被繼承;
3、class有默認的無參構造函數,有析構函數,struct沒有默認的無參構造函數,且只能聲明有參的構造函數,沒有析構函數;
4、class可以使用abstract和sealed,有protected修飾符,struct不可以用abstract和sealed,沒有protected修飾符;
5、class必須使用new初始化,結構可以不用new初始化;
6、class實例由垃圾回收機制來保證內存的回收處理,而struct變量使用完后立即自動解除內存分配;
7、從職能觀點來看,class表現為行為,而struct常用于存儲數據;
8、作為參數傳遞時,class變量以按址方式傳遞,而struct變量是以按值方式傳遞的。
烙印99
TA貢獻1829條經驗 獲得超13個贊
c中結構體和類的最大區別是結構體不能定義成員函數。
c++中結構體是可以定義成員函數的,所以c++中結構體和類基本是一樣,唯一的不同點在于,結構體中缺省權限是public,類中缺省權限是private。即如果你在結構體和類中沒有寫public等的時候,結構體默認為public,類中默認為private。
- 3 回答
- 0 關注
- 1497 瀏覽
添加回答
舉報
0/150
提交
取消
