阅读下列说明和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方法。