C 中class和struct的區別

2021-10-09 12:39:43 字數 580 閱讀 7717

c++被稱為「c with class」,可見在c++中class是多麼重要,與class類似的乙個結構就是struct了,struct最早是在c語言**現的,在c++中對struct的功能也進行了擴充套件,下面就來說一說struct和class的區別吧:

struct預設是公有繼承(public),class預設是私有繼承(private)

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

struct在c語言中:

在c語言中,我們知道struct中是一種資料型別,只能定義資料成員,不能定義函式,這是因為c語言是面向過程的,面向過程認為資料和操作是分開的,所以c語言中的struct可以直接使用大括號對所有資料成員進行初始化

例如:

struct test

;//初始化

test a=;//完全可以

在c++中class和struct的區別:

在c++中對struct的功能進行了擴充套件,struct可以被繼承,可以包含成員函式,也可以實現多型,當用大括號對其進行初始化需要注意:

C 中struct和class的差別

在c 中,struct和class除了預設訪問控制級別不一樣,其它別無二致,具體怎麼用,純屬於個人習慣。另 在stroustrup c 發明者 的原作中 他自己說的原句是 按照定義,乙個struct就是乙個類,而只是完全公開的類 所以 struct s 等價於class s public 也就是說,...

c 中struct和class的區別

有這麼幾點不同 1.struct 是值型別,class是物件型別 2.struct 不能被繼承,class可以被繼承 3.struct 預設的訪問許可權是public,而class預設的訪問許可權是private.4.struct不能由程式設計師申明建構函式,即使是預設 不帶引數 的建構函式,同樣也...

C 中 struct 和 class 的區別

從語法上,class和struct做型別定義時只有兩點區別 一 預設繼承許可權。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理 二 成員的預設訪問許可權。class的成員預設是private許可權,struct預設是public許可權。...