C struct與class 的區別

2021-09-24 03:49:24 字數 401 閱讀 9487

c++中的struct對c中的struct進行了擴充,考慮到「對c相容」就將struct保留了下來,並做了一些擴充套件使其更適合物件導向。它已經不再只是乙個包含不同資料型別的資料結構了,它已經獲取了太多的功能。

1.預設訪問控制不同

struct 與 class最本質的乙個區別就是預設的訪問控制。

在預設的繼承許可權和預設訪問許可權裡,struct是public的,class是private的。

2.{}初始化特點不同

class和struct如果定義了建構函式,就不能用大括號進行初始化了;若沒有定義,struct可以用大括號初始化,而class只有在所有成員變數全是public的情況下,才可以用大括號進行初始化。

故struct更適合看成是乙個資料結構的實現體,class更適合看成是乙個物件的實現體。

C struct與class的區別

c 中的struct對c中的struct進行了擴充,它不再只是乙個包含不同資料型別的資料結構,它已經獲取了太多的功能。struct能包含成員函式,struct能繼承,struct能實現多型。1 關於使用大括號初始化 如果定義了建構函式,class和struct都不能用大括號進行初始化。如果沒有定義建...

C struct與class的區別

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

C struct和class的比較

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