C struct與class的區別

2021-06-18 00:10:55 字數 409 閱讀 1480

c++中的struct對c中的struct進行了擴充,它不再只是乙個包含不同資料型別的資料結構,它已經獲取了太多的功能。 struct能包含成員函式,struct能繼承,struct能實現多型。

1)關於使用大括號初始化

如果定義了建構函式,class和struct都不能用大括號進行初始化。

如果沒有定義建構函式,struct可以用大括號初始化。

如果沒有定義建構函式,且所有成員變數全是public的話,class可以用大括號初始化。

2)關於預設訪問許可權

class中預設的成員訪問許可權是private的,而struct中則是public的。

3)關於繼承方式

class繼承預設是private繼承,而struct繼承預設是public繼承。參考:private繼承與public繼承

C struct與class 的區別

c 中的struct對c中的struct進行了擴充,考慮到 對c相容 就將struct保留了下來,並做了一些擴充套件使其更適合物件導向。它已經不再只是乙個包含不同資料型別的資料結構了,它已經獲取了太多的功能。1.預設訪問控制不同 struct 與 class最本質的乙個區別就是預設的訪問控制。在預設...

C struct與class的區別

來自 c 中的struct對c中的struct進行了擴充,它已經不再只是乙個包含不同資料型別的資料結構了,它已經獲取了太多的功能。struct能包含成員函式嗎?能!struct能繼承嗎?能!struct能實現多型嗎?能!既然這些它都能實現,那它和class還能有什麼區別?最本質的乙個區別就是預設的訪...

C struct和class的比較

什麼是class?class是我們通常所說的類,是物件導向程式設計的基本概念,一種可以自定義的資料結構型別,c 中的class 通常包含字段 屬性 方法 建構函式 索引器 操作符等等。在.net中,所有的類都最終繼承自system.object類,因此是一種引用型別,也就是說,new乙個類的例項時,...