相同點: struct能包含成員函數(shù), struct能繼承, struct能實現(xiàn)多態(tài)
不同點:
- 默認的繼承訪問權(quán)限。struct是public的,class是private的。
- struct作為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)體,它默認的數(shù)據(jù)訪問控制是public的,而class作為對象的實現(xiàn)體,它默認的成員變量訪問控制是private的。
- “class”這個關(guān)鍵字還用于定義模板參數(shù),就像“typename”。但關(guān)鍵字“struct”不用于定義模板參數(shù)。
- 還是上面所說的,C++中的struct是對C中的struct的擴充,既然是擴充,那么它就要兼容過去C中struct應(yīng)有的所有特性。