相同點(diǎn): struct能包含成員函數(shù)惶翻, struct能繼承剑梳, struct能實(shí)現(xiàn)多態(tài)
不同點(diǎn):
- 默認(rèn)的繼承訪問權(quán)限诡蜓。struct是public的,class是private的唉锌。
- struct作為數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)體隅肥,它默認(rèn)的數(shù)據(jù)訪問控制是public的,而class作為對象的實(shí)現(xiàn)體袄简,它默認(rèn)的成員變量訪問控制是private的腥放。
- “class”這個(gè)關(guān)鍵字還用于定義模板參數(shù),就像“typename”绿语。但關(guān)鍵字“struct”不用于定義模板參數(shù)秃症。
- 還是上面所說的,C++中的struct是對C中的struct的擴(kuò)充吕粹,既然是擴(kuò)充种柑,那么它就要兼容過去C中struct應(yīng)有的所有特性。