首页
登录
从业资格
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
练习题库
2022-08-02
29
问题
第六题 阅读下列说明和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)
【解析】
这里考察的是访问者模式。其定义如下:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。
转载请注明原文地址:https://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,将解答填入答题纸对应的解答栏内。 【说明】
随机试题
Youwillhavetotalkaboutthetopicforonetotwominutes.Youhaveoneminu
Woulditbepossibleformetohaveacloserlookatyoursamples?[br][audioF
Whatdoesthenewsitemmainlyreport?[br][originaltext]Worldwide,giving
比例税率的基本特点是()。A.税率档次较多 B.计算比较复杂 C.征税对象
关于确认测试,描述正确的是()。①确认测试一般包括有效性测试与软件配置复查,采
脑膜脑膨出的临床及声像图表现,不正确的是A.缺损部位以枕部常见 B.是胎儿最常
某食用油压榨企业,为保证其原材料大豆的来源和质量,选择了期货市场实物交割,这是由
()的指标体现了公司所有权利要求者,包括普通股股东、优先股股东和债权人的现
城市建设领域的工程测量活动应当执行由()负责组织编制的测量技术规范。A.
护士巡视病房时发现病人闭式胸膜腔引流管脱出,首先要A、立即报告医生 B、用无菌
最新回复
(
0
)