c++結構體內部成員變數及成員函式預設的訪問級別是public,而c++類的內部成員變數及成員函式的預設訪問級別是private。
c++結構體的繼承預設是public,而c++類的繼承預設是private,所以類在繼承的時候需要public
結構體:
沒有預設的建構函式,但是可以新增建構函式
沒有析構函式
沒有 abstract 和 sealed(因為不能繼承)
不能有protected 修飾符
可以不使用new 初始化
類:
有預設的建構函式
有析構函式
可以使用 abstract 和 sealed
有protected 修飾符
必須使用new 初始化
參考連線:
c 中結構體和類的區別
1.c的結構體和c 結構體的區別 1.1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。1.2 c的結構體對內部成員變數的訪問許可權只能是public,而c 允許public,protected,private三...
C 中結構體和類的區別
c 中結構型別和類型別在語法上非常相似,他們都是一種資料結構,都可以包括資料成員和方法成員。結構和類的區別 1 結構是值型別,它在棧中分配空間 而類是引用型別,它在堆中分配空間,棧中儲存的只是引用。2 結構型別直接儲存成員資料,讓其他類的資料位於堆中,位於棧中的變數儲存的是指向堆中資料物件的引用。c...
C 中結構體和類的區別
結構體和類同樣能夠定義字段,方法和建構函式,都能例項化物件,這樣看來結構體和類的功能好像是一樣的了,但是他們在資料的儲存上是不一樣的 這兩種資料型別的本質區別主要是各自指向的記憶體位置不同。傳遞類的時候,主要表現為是否同時改變了源物件。1.結構體是值型別,類是引用型別 雖然結構體的初始化也使用了ne...