C 解析 10 struct和class的區別

2022-09-17 13:51:17 字數 1347 閱讀 7383

1.預設訪問級別

2.預設繼承方式

3.小結

2.1 分別獨立繼承

2.2 struct繼承class

struct繼承class時,預設繼承方式為public。

示例**:

#include class biology

};struct animal : biology

};int main()

執行結果為:

[root@bogon desktop]# g++ test.cpp

[root@bogon desktop]# ./a.out

i = 1

j = 2

2.3 class繼承struct

class繼承struct時,預設繼承方式為private。

示例**:

#include struct biology

};class animal : biology

};int main()

執行結果為:

[root@bogon desktop]# g++ test.cpp

test.cpp: in function 『int main()』:

test.cpp:5: error: 『int biology::i』 is inaccessible

test.cpp:19: error: within this context

test.cpp:6: error: 『int biology::get_i()』 is inaccessible

test.cpp:22: error: within this context

test.cpp:22: error: 『biology』 is not an accessible base of 『animal』

改成public繼承後:

#include struct biology

};class animal : public biology

};int main()

執行結果為:

[root@bogon desktop]# g++ test.cpp

[root@bogon desktop]# ./a.out

i = 1

j = 2

C和C 的struct區別

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

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 支援成員...