题目详情

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

以下C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账,设计如下图所示类图。

初级程序员,章节练习,基础复习,案例分析

初级程序员,章节练习,基础复习,案例分析

初级程序员,章节练习,基础复习,案例分析

初级程序员,章节练习,基础复习,案例分析

初级程序员,章节练习,基础复习,案例分析

正确答案及解析

正确答案
解析

(1)public Item

(2)this->price=price

(3)visitor->visit(this)

(4)public Visitor

(5)void visit(Book*book)

(6)item->accept(visitor)

解析:(1)Book类公有继承Item类;

(2)用参数price给自身成员变量赋值;

(3)考察访问者模式,访问本元素;

(4)Cashier类公有继承Visitor类;

(5)从类图当中可以看出,此处需要实现一个方法visit;;

(6)根据题意,此处需要计算价格,结合访问者模式,此处调用accept方法。

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +