C++中類與結構體的區別

相信有一點專業知識的人都知道,C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。在很大程度上,標準C++是標準C的超集。實際上,全部C程序也是C++程序,然而,二者之間有少許區別。下面是最重要的區別:模塊化

結構是C的一部分,C++從C中繼承告終構,在語法上,類與結構十分類似,在關係上,這二者也很接近,在C++中,結構的做用被拓寬了,進而使結構成爲了類的一種替代方法。實際上,類與結構的唯一區別在於:在默認狀態下,結構的全部成員均是公有的,而類的全部成員是私有的。除此以外,類與結構是等價的,也就是說,一個結構定義了一個類的類型。函數

 C++同時包含這兩個等價的關鍵字struct與class基於3個方面的緣由。第一,增強結構的能力。在C中,結構提供了一種數據分組方法,於是讓結構包含成員函數是一個小小的改進。第二,因爲類與結構是相互關聯的,全部現有C代碼到C++的移植變得更容易。第三,因爲類與結構的等價性,提供兩個不一樣的關鍵字可使類定義自由發展,爲了保持C++與C的兼容性,結構定義必須始終受它的C定義的結束。調試

即便在有些地方可使用結構來代替類,但儘可能不要這麼作,爲了清楚起見,該用類的地方就用class關鍵字,該用C結構的地方就用struct關鍵字。繼承

相關文章
相關標籤/搜索