首页
登录
从业资格
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
练习题库
2022-08-02
49
问题
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明 】以下C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账,设计如图6-1所示类图。
using namespace std;class Book;class Visitor {public: virtual void visit(Book* book)=0; //其它物品的visit方法};class Item {public:virtual void accept(Visitor* visitor)=0; virtual double getPrice()=0;};class Book (1){private: double price;public: Book (double price){ //访问本元素 (2); } void accept(Visitor* visitor) { (3); } double getPrice() { return price; }};class Cashier(4){private; double totalForCart;public: //访问Book类型对象的价格并累加 (5){ //假设Book类型的物品价格超过10元打8折 if(book->getPrice()<10.0) { totalForCart+=book->getPrice(); } else totalForCart+=book->getPrice()*0.8; } //其它visit方法和折扣策略类似,此处略 double getTotal() { return totalForCart; }};class ShoppingCart {private: vector<item*>items;public: double calculatePrice() { Cashier* visitor=new Cashier(); for(int i=0;i <items.size();i++) (6); } double total=visitor->getTotal(); return total; } void add(Item*e) { items.push_back(e); }};
选项
答案
解析
(1):public Item
(2)this->price=price
(3)visitor->visit(this)
(4)public visitor
(5)void visit(Book*book)
(6)item->accept(visitor)
【解析】
这里考察的是访问者模式。其定义如下:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。
转载请注明原文地址:http://tihaiku.com/congyezige/2425922.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
解答服务对象的健康问题,帮助其澄清观念、做出决策的人际传播形式称为A.咨询B.个
IE浏览器能够正确解析()代码。A.ASP B.HTML C.JSP D
在如下所示的一段XML代码中,根元素名为()。 <?xmlversion="
在网页中创建一个如下图所示的表单控件的HTML代码是()。 A.<input
下面的XML代码段中,语法正确的是()。A.<!-xml示例-!><?xml
在网页中创建Email链接,代码正确的是()。A.<ahref=“call
下列设置图像地图正确的HTML代码是()。A.<areashape="po
阅读一下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。 【说明】
随机试题
PerhapsthemostheatedargumentacrosstheUnitedStatestodayisthedeath
AccordingtoWorldHealthOrganization,howmanypeopleamkilledbyoutdoorair
Muchoftoday’sscienceofphysicsisbasedonNewton’sdiscoveryofthethr
图示槽钢屋架钢板节点釆用角焊缝连接,每条焊缝的计算长度lw取( )。 A.3
不需要复杂的终端设备,所需带宽小于64kbit/s,采用电路或分组方式承载,该类
男性,56岁,突然心悸,气促,咳粉红色泡沫痰,血压26/12kPa(195/90
因我的一条腿有残疾,刚上小学时常被同学取笑,心里很自卑,害怕和同学在一起。这种情
可用治寒疝腹痛的是A.花椒 B.丁香 C.荜澄茄 D.小茴香
最具幽门梗阻特征的典型症状是A.阵发性腹痛 B.消瘦 C.呕吐宿食 D.食
下列变更中,属于应当经合同当事人双方协商一致情形的是( )。A.采购数量变更
最新回复
(
0
)