c 中struct和class的區別

2021-06-05 17:50:43 字數 658 閱讀 1466

struct內資料預設是public型別的,

class內資料預設是private型別的。

繼續用struct是為了向下相容啊,習慣問題,以後發展會只用class的

你可以

template

但是 template

並不總是可以用的。

class中有個預設的this指標,struct沒有

不同點:建構函式,析構函式   this   指標

error:struct僅僅能定義資料,而class可以定義操作!

class   exp

; int   main()

應該可以吧

細微區別:

struct也可以作為c語言中單純的結構體用,如果裡面乙個函式都沒有的話。而class則無論如何也是個類。考慮如下例子:

struct   exp

; int   main()

; cout   < <   a.x   < <   a.y;

} 這個是成立的,輸出12

而 class   exp

; int   main()

; cout   < <   a.x   < <   a.y;

} 則不成立了。這個區別很細微。

基本上就這些區別了。

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許可權。...