网球比分捷报网|今日推荐足球比分预测|球探手机版|球探比分足球即时比分比,今日竞彩足球对阵表,比分网球探,法甲赛程2024赛程表

軟題庫 學(xué)習(xí)課程
當(dāng)前位置:信管網(wǎng) >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內(nèi)容

閱讀下列說明和C++代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
以下C++代碼實現(xiàn)一個超市簡單銷售系統(tǒng)中的部分功能,顧客選擇圖書等物品(Item)加入購物車(ShoppingCart),到收銀臺(Cashier)對每個購物車中的物品統(tǒng)計其價格進(jìn)行結(jié)賬,設(shè)計如圖6-1所示類圖。

圖6-1類圖
問題:6.1【C++代碼】
usingnamespacestd;
classBook;
classVisitor{
public:
virtualvoidvisit(Book*book)=0;
//其它物品的visit方法
};

classItem{
public:virtualvoidaccept(Visitor*visitor)=0;
virtualdoublegetPrice( )=0;
};

classBook(1){
private:doubleprice;
public:
Book(doubleprice){//訪問本元素
(2);
}
voidaccept(Visitor*visitor){
(3);
}
doublegetPrice( ){returnprice;}
};
classCashier(4){
private;
doubletotalForCart;
public:
//訪問Book類型對象的價格并累加
(5){
//假設(shè)Book類型的物品價格超過10元打8折
if(book->getPrice( )<10.0){
totalForCart+=book->getPrice( );
}else
totalForCart+=book->getPrice( )*0.8;
}
//其它visit方法和折扣策略類似,此處略
doublegetTotal( ){
returntotalForCart;
}
};

classShoppingCart{
private:
vectoritems;
public:
doublecalculatePrice( ){
Cashier*visitor=newCashier( );

for(inti=0;i(6);
}
doubletotal=visitor->getTotal( );
returntotal;
}

voidadd(Item*e){
items.push_back(e);
}
};

查看答案

相關(guān)試題



更多試題