C和C 中struct的區別是什麼

2021-08-21 06:01:33 字數 410 閱讀 2071

c語言的struct不能有函式成員,而c++的struct可以有;

c語言的struct中資料成員沒有private、public和protected訪問許可權的設定,而c++的struct的成員有訪問許可權設定;

c語言中的struct是沒有繼承關係的,而c++的struct卻有豐富的繼承關係。

c語言中的struct是使用者自定義資料型別(user defined type),它是沒有許可權設定的,它只能是一些變數的集合體,雖然可以封裝資料卻不可以隱藏資料,而且成員不可以是函式。

為了和c語言相容,c++中就引入了struct關鍵字。c++語言中的struct是抽象資料型別(adt),它支援成員函式的定義,同時他增加了訪問許可權,它的成員函式預設訪問許可權是public。在用模板的時候只能寫template或template不能寫template。

struct在C和C 中的區別

c 中把struct當成類處理,只不過和類的一點小區別是struct中訪問許可權預設是public,而類中訪問許可權預設是private 而在c中,struct是抽象資料型別 基於這個,會有以下的區別 1 c中定義的時候需要在前面加上struct,而c 中不用 2 c 把struct當成類處理,所以...

struct在c和c 中的區別

c語言中 struct是使用者自定義資料型別 udt c中的struct是沒有許可權設定的。c中的struct只能是一些變數的集合體,可以封裝資料卻不可以隱藏資料,而且成員不可以是函式。struct中間的某個型別 例如int 不可以直接初始化。c 語言中 struct是抽象資料型別 adt 支援成員...

C和C 的struct區別

c語言中struct和typedef struct typedef struct student stu 在宣告變數的時候就可 stu stu1 這裡的stu實際上就是struct student的別名。struct student 如果沒有typedef就必須用struct student stu...