我有幾個問題想在C++課程中用我的數據結構來檢查。他們對付下面的類和多維數組:問:餐廳包含MAX_ITEMS多少份?
class Order
{
public:
Order();
void addItem(string name, double price);
private:
static const int MAX_ITEMS = 10;
string itemNames[MAX_ITEMS];
int numItems; // # of items actually stored
double totalPrice;
};
const int TABLES = 10;
const int SEATS = 4;
Order diningRoom[TABLES][SEATS];
Q1:如何MAX_ITEMS
許多副本並在陣列diningRoom
包含哪些內容?
這是40對嗎?數組中的每個元素都有一個副本,10 * 4。
問題二:會員功能addItem
應該改爲聲明如何?
A.) void addItem(const string &name, double price);
B.) void addItem(string &name, double price);
C.) void addItem(string name, double price) const;
D.) void addItem(string name[], double price);
A?通過const引用傳遞?這一個我不太確定。
問題2:沒有硬性的,快速的答案。 http://stackoverflow.com/questions/10231349/are-the-days-of-passing-const-stdstring-as-a-parameter-over – PaulMcKenzie
A或B,但你可以消除C(不能添加項目如果方法是const,則爲Order)和D(僅添加一個項目,這樣一個名稱數組毫無意義)。 – user4581301
@ user4581301對於Q2,原始聲明也是有效的。 – PaulMcKenzie