上一周因為參加乙個比賽,整個都投入進去了,也就荒廢了看書以及部落格,不過不代表沒有遇到新的問題。
在比賽中,我用到了結構體struct,在我過去的印象裡,struct代表結構體,主要存放一些資料變數,打包起來,成為乙個整體,不過前段時間在c++ primer書上類那一章看到,struct與class似乎是可以部分混用的,可以存放函式,可以繼承以及派生,這讓我感到疑惑,struct和class到底有什麼區別。
查閱相關資料後發現,struct基本上擁有class的所有功能,可以擁有成員函式,可以有private、public、protected說明,可以繼承與派生、可以擁有多型的屬性,可以擁有構造以及析構函式,具體詳見:
但是,二者之間還是有區別的,主要體現在:
1.預設繼承許可權,如果不指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理;
2.成員的預設訪問許可權。class的成員預設是private許可權,struct預設是public許可權。以上兩點也是struct和class最基本的差別,也是最本質的差別;
但是實際程式設計中,盡量從功能上進行區別,如果想要表示一種特殊的資料結構,用struct,如果要表示類,完成更複雜的功能,還是用class,但是從語法上來看,二者的區別是很小的。
C 中class與struct的區別
類與結構的例項比較 類與結構的差別 如何選擇結構還是類 一 類與結構的示例比較 結構示例 類示例 呼叫過程 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別...
C 中class與struct的區別
一 類與結構的示例比較 結構示例 類示例 呼叫過程 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別是什麼呢?二 類與結構的差別 1.值型別與引用型別 結構...
C 中struct與class的區別
1。字面上的區別 在字面上struct是structure的縮寫,通常叫做 結構體 在c語言裡用於將多種資料 多個變數組織在一起,便於表達比較複雜的資料型別,在c 中為了相容c語言保留了該關鍵字,並且保留了c語言中的所有功能。雖然在字面上struct與class的含義不一樣,但在c 中其功能基本是相...