C 中結構體和類區別和聯絡

2021-08-07 15:18:59 字數 882 閱讀 6004

結構體定義

結構體是一種值型別,通常用來封裝小型相關變數組。例如座標或者商品的特徵。

結構體是一種自定義的資料型別,相當於乙個復合容器,可以儲存多種型別。

結構體由結構體成員構成,結構體成員包含字段,屬性與方法

結構體建構函式

1.結構體不能宣告預設的建構函式,否則會報錯

2.結構體只能宣告帶引數的建構函式,格式為 public 結構體名(引數列表)

3.在結構體的自定義建構函式當中要為所有的字段進行初始化

4.不管有沒自定義建構函式,結構體預設建構函式一直存在

總結

1.結構體是值型別

2.結構體不能宣告預設的建構函式,但是可以宣告多個不同的帶引數建構函式

3.在結構體的自定義建構函式當中必須為所有字段進行初始化

4.結構體是隱式密封的,不可以繼承

相同

都可以用於資料儲存,都包括字段、屬性、方法等成員

不同

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

2.關於建構函式:

a、結構體中,預設建構函式一直存在,而類中如果新增了自定義建構函式必須手動寫出預設構造 

b、在結構體的建構函式中,必須要為結構體的所有字段賦值.類中不需要

3、建立結構體物件可以不使用 new 關鍵字.直接宣告 1 個變數就可以.但是這樣的話,結構體物件 中的字段是沒有初始值的,所以在使用字段之前必須要為這個字段賦值.

4、結構體是值型別 類是引用型別.

5、結構體不能繼承,類可以繼承

c 中結構體和類的區別

1.c的結構體和c 結構體的區別 1.1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。1.2 c的結構體對內部成員變數的訪問許可權只能是public,而c 允許public,protected,private三...

C 中類和結構體的區別

c 結構體內部成員變數及成員函式預設的訪問級別是public,而c 類的內部成員變數及成員函式的預設訪問級別是private。c 結構體的繼承預設是public,而c 類的繼承預設是private,所以類在繼承的時候需要public 結構體 沒有預設的建構函式,但是可以新增建構函式 沒有析構函式 沒...

C 中結構體和類的區別

c 中結構型別和類型別在語法上非常相似,他們都是一種資料結構,都可以包括資料成員和方法成員。結構和類的區別 1 結構是值型別,它在棧中分配空間 而類是引用型別,它在堆中分配空間,棧中儲存的只是引用。2 結構型別直接儲存成員資料,讓其他類的資料位於堆中,位於棧中的變數儲存的是指向堆中資料物件的引用。c...