C++被稱為“C with class”,可見在C++中class是多么重要,與class類似的一個結構就是struct了,struct最早是在C語言中出現的,在C++中對struct的功能也進行了擴展。
class :
public(公有):在類內外、派生類中都可被訪問
protected(保護):希望與派生類共享但是不想被公共訪問所使用的訪問權限。在基類和派生類中(派生類的友元也可以訪問)可以被訪問,在類外無法訪問
private(私有):只有在類內可被訪問,類外和子類無法訪問
注意事項:
成員不寫訪問屬性時,類的默認訪問屬性為private
與結構體的不同:結構體默認屬性為public
下面就來說一說struct和class的區別吧:
1、默認的繼承權限
struct默認是公有繼承(public),class默認是私有繼承(private)
2、關于默認訪問權限
class中默認的成員訪問權限是private的,而struct中則是public的。
3、關于大括號初始化問題
struct在C語言中:
在C語言中,我們知道struct中是一種數據類型,只能定義數據成員,不能定義函數,這是因為C語言是面向過程的,面向過程認為數據和操作是