class和struct用於定義類
定義:class默認開始爲private成員,struct默認開始爲public成員。
繼承:class默認爲private繼承,struct默認爲public繼承。
class用於模板
class可用於模板用於表明類型名,此時等價於typename。
C語言風格struct
C++是兼容C語言的,C語言沒有沒有基於對象(OB)和麪向對象(OO)的思想,只有抽象數據類型(ADT)。
如果要使C++ class的某部分數據有C風格那樣,最好把這部分數據抽取出來成爲一個獨立的struct聲明,但是不推薦繼承,因爲編譯器支持的虛函數機制可能對class的佈局做一些變化。組合,而非繼承,纔是推薦方法,這樣才能保證C的空間佈局。