c++中保留了c中的struct關鍵字,並對其進行了一定程度的擴充套件(如c中的struct不能定義成員函式,而c++可以),使得c++中struct變得和class有著類似的功能。但二者還是有一定的區別。
最大的區別就是class中的變數、函式等成員可以定義訪問許可權private、public、protected等(預設都是private),而struct中的成員預設都相當於是public的,並且class 繼承預設是 private 繼承,而 struct 繼承預設是 public 繼承;另外在class中可以使用模板,而struct中則不行。
總的來說struct的保留就是想給c語言程式設計師在使用c++時也能有一定的歸屬感(* ̄︶ ̄)
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許可權。...