當前位置:學識都>好好學習>考研>

struct與class的區別

學識都 人氣:8.22K

在C++裏struct 關鍵字與class 關鍵字一般可以通用,只有一個很小的區別。struct 的成員默認情況下屬性是public 的,而class 成員卻是private 的。很多人覺得不好記,其實很容易。你平時用結構體時用public 修飾它的成員了嗎?既然struct 關鍵字與class 關鍵字可以通用,你也不要認爲結構體內不能放函數了。

struct與class的區別

拓展:

在C++中,程序員用"類"來描述 "對象", 所謂的"對象"是指現實世界中的一切事物。那麼類就可以看做是對相似事物的抽象, 找到這些不同事物間的共同點, 如自行車和摩托車, 首先他們都屬於"對象", 並且具有一定得相同點, 和一些不同點, 相同點如他們都有質量、都有兩個輪子, 都是屬於交通工具等。

"都有質量"、"兩個輪子"屬於這個對象的屬性, 而"都能夠當做交通工具"屬於該對象具有的行爲, 也稱方法。 類是屬於用戶自定義的數據類型, 並且該類型的數據具有一定的行爲能力, 也就是類中說描述的方法。通常來說, 一個類的定義包含兩部分的內容, 一是該類的屬性, 另一部分是它所擁有的方法。

以 "人類" 這個類來說, 每個人都有自己的姓名、年齡、出生日期、體重等, 爲人類的屬性部分, 此外, 人能夠吃飯、睡覺、行走、說話等屬於人類所具有的行爲。 上面舉例中所描述的 "人" 類僅僅是具有人這種對象的.最基礎的一些屬性和行爲, 可以稱之爲人的"基類"。 再說說一些具有一些職業的人, 例如學生, 一個學生還具有"基類"中所沒有的屬性, 如學校、班級、學號; 也可以具有基類所不具有的行爲, 如每天需要去上課, 需要考試等。

學生類可以看做是基類的一個擴展, 因爲他具有基類的所有屬性和行爲, 並且在此基礎上增加了一些基類所沒有的屬性和行爲, 像"學生"這樣的類稱爲"人類"這個基類的"派生類"或者"子類"。在學生的基礎上還可以進一步的擴展出其他更高級的類, 如"研究生"類。

 

TAGS:class struct