C 類和結構體的異同點簡單總結

2022-01-11 09:44:29 字數 568 閱讀 8417

類和結構的異同點?

異:  1.關鍵字不同 乙個是class,乙個是struct

2.型別不同,乙個是引用型別,乙個是值型別(乙個堆區,乙個棧區)

3.成員不同,結構體沒有預設的建構函式(可以新增)和沒有析構函式,不可以使用abstract,protected,sealed修飾

4.struct變數使用完之後就自動解除記憶體分配,class例項有垃圾**機制來保證記憶體的**處理

5.繼承性。結構不可以繼承自另乙個結構或被繼承,但和類一樣可以繼承自介面

6.在結構體中可以宣告字段,但是宣告欄位的時候是不能給初始值的.

7.實體類中如果我們沒有顯示的定義建構函式,那麼會有乙個隱式無參的建構函式(過載建構函式之後,需要顯示宣告無參建構函式),而在結構體中隱身無參的建構函式無論如何都存在

8.在類中可以顯示的定義無參的建構函式,而在結構體中我們不能顯示的定義無參的建構函式

9.結構體是可以new的,而結構體建構函式要求必須要為所有的字段賦值.即使是無參的建構函式,也會給值型別賦初值為0,引用型別賦初值為null

同: 1.都有屬性和方法

2.和類一樣可以繼承自介面

結構體與類的異同

相同之處 c 中的結構體中可以包含函式,也可以定義public private protected資料成員 定義了結構體之後,可以使用結構體名來建立物件,但是c中的結構體不允許含有函式 即 在c 中,結構體中可以有成員變數,成員函式,可從別的類繼承,也可以被別的類繼承,可以含有虛函式 不同之處 結構...

C 中介面和抽象類的異同點

介面和抽象類的異同點 類似之處 1 抽象類和介面都包含可以由派生類繼承的成員 2 介面和抽象類都不能直接例項化,但可以宣告它們的變數。如果這樣做,就可以使用多型性把繼承這兩種型別的物件指定給它們的變數。接著通過這些變數來使用這些型別的成員,但不能直接訪問派生物件的其他成員。區別 1 派生類只能繼承乙...

C 指標和引用的異同點

相同點 不同點 指標是乙個實體,而引用僅僅是乙個別名 在使用時候引用無需解引用,而指標需要解引用 指標只能在定義時別初始化一次,之後不可在變,指標一般可變 除非常量指標 引用不能為空而指標可以為空 sizeof引用 得到的是所指向的物件的大小,而 sizeof指標 得到的是指標本身的大小 聯絡 引用...