首页
登录
从业资格
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
第六题 阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
练习题库
2022-08-02
55
问题
第六题 阅读下列说明和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,将解答填入答题纸对应的解答栏内。 【说明】
随机试题
[img]ct_epem_epelisv_01241(20097)[/img][originaltext]Wegetalotofinformatio
【B1】[br]【B9】[audioFiles]audio_eufm_j02_007(20082)[/audioFiles]Hewillspendm
[originaltext]I’mafreelanceandio-visualandgraphicsdesignerandIwork
试述霍兰德提出的职业兴趣类型的内容。
女性,65岁,高血压病史13余年,诊断为贲门癌,拟行胃癌根治术。术中血压骤升至1
男性,69岁。咽下疼痛,轻度哽噎感,胸骨后不适3个月,近一周有食物反流,烧灼感,
A.生地黄连 B.熟地知母 C.桃仁薏苡仁 D.秦皮黄柏
治疗带下过多脾阳虚证,应首选A.知柏地黄丸B.萆薢渗湿汤C.完带汤D.补中益气丸
共用题干 程某与万维房地产经济机构(以下简称万维)签订房地产经纪合同,约定将其
(2021年真题)PDCA循环在处理阶段的主要工作是()A.检查计划执行结果
最新回复
(
0
)