软考程序员下午试题每日一练(十六)

程序员 责任编辑:胡媛 2018-10-17

添加老师微信

备考咨询

加我微信

摘要:今天希赛网软考频道小编为大家准备了软考程序员下午试题每日一练(十六),更多软考程序员下午试题请关注希赛网软考频道。

阅读下列说明和c++代码,填补代码中的空缺,将解答填入答题纸的对应栏内.

【说明 】

以下 C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Items)

加入购物车(SgoppingCart),到收银台(Cashier) 对每个购物车中的物品统计其价格进行结账.设计如图6- 1 所示类图。

6.png

【C++代码】

Using namespace std;

classbook

class Visist

public:

Virtual void visit(Book* book)=0;

//其它物品的visit方法

Class Iterm

Public:virtual void accpt(Visit*visit)=0;

Virtual double getPrice()=0

class BOOK

public:

Book (double price){//访问本元素——;)

Void accept (Visitor*visitor){__}

double getPrice( )

{return price;}

class Cashier_{

private

doule totalForCart

Public:

//访问Book类型队形的价格并累加__

//假设Book类型的物品价格超过10元打8折

if(book->getPrice( )>10.0)

{totalForCart+=book->getprice( );

}else

totalForCart+=book->getPrice( )*0.8;

}

//其他visit方法和折扣策略类似,此忽略

double getTotal( ){

return tatalForCart;

class ShoppingCart{

private:

vectoritenms;

public:

double calculatePrice( ){

Csahier*visitor=new Cashier( );

For(int i=0;i

Double total=visitor->getTatal( );

Return tatal;

Void add(Item*e)

{items.push_back(e);}

 

点击注册会员>>>即可获取程序员免费在线真题、观看免费公开课!

真题自测:软考各科目历年真题及答案解析

更多资讯可关注希赛网软考频道,问题咨询请拨打客服电话400-111-9811

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取