如果使用class關(guān)鍵字來(lái)定義類(lèi),那么定義在第一個(gè)訪問(wèn)標(biāo)號(hào)前的任何成員都隱式指定為private;如果使用struct關(guān)鍵字,那么這些成員都是public。使用class還是struct關(guān)鍵字來(lái)定義類(lèi),僅僅影響默認(rèn)的初始化訪問(wèn)級(jí)別。 可以等效地定義Sales_item類(lèi)為: struct Sales_item{ //no need for public label, memebers are public by default //operations on Sales_item objects private: std::string isbn; unsigned units_sold; double revenues }; 本例的類(lèi)定義和前面的類(lèi)定義只有兩個(gè)區(qū)別:這里使用了關(guān)鍵字struct,并且沒(méi)有在花括號(hào)后使用關(guān)鍵字public。struct的成員都是public,除非有其他特殊的聲明,所以就沒(méi)有必要添加public標(biāo)號(hào)。 用class和struct關(guān)鍵字定義類(lèi)的唯一差別在于默認(rèn)訪問(wèn)級(jí)別:默認(rèn)情況下,struct的成員為public,而class的成員為private。 |