C++ struct與class 的區別

C++中的struct對C中的struct進行了擴充,考慮到“對c兼容”就將struct保留了下來,並做了一些擴展使其更適合面向對象。它已經不再只是一個包含不同數據類型的數據結構了,它已經獲取了太多的功能。

1.默認訪問控制不同
struct 與 class最本質的一個區別就是默認的訪問控制。
在默認的繼承權限和默認訪問權限裏,struct是public的,class是private的。
2.{}初始化特點不同
class和struct如果定義了構造函數,就不能用大括號進行初始化了;若沒有定義,struct可以用大括號初始化,而class只有在所有成員變量全是public的情況下,纔可以用大括號進行初始化。

故struct更適合看成是一個數據結構的實現體,class更適合看成是一個對象的實現體。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章