首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-15所示。 图5-15中,Product表示产品,Produc
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-15所示。 图5-15中,Product表示产品,Produc
admin
2010-01-15
34
问题
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-15所示。
图5-15中,Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。
请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。
[C++代码]
选项
答案
这是一道要求读者掌握C++程序设计及STL使用的分析题。本题的解答思路如下。 仔细阅读[C++代码]可知,类Order的数据成员orderid表示一份订单的识别号。结合图5-15订单管理系统的部分UML类图可知,每个订单上可以有多个订单项,因此数据成员items是一个类型为 OrderItem的向量(数据)。类Order的成员函数getOrderedAmount的功能是“在订单中查找识别码为tid的产品的订购数量,若该产品没有被订购,则返回0”。其定义如下: [*] 对于每个订单项,显然需要取出对应产品的识别号。从getOrderedAmount(string tid)定义代码中,变量k用于遍历并索引一份订单中的每个订单项(items[k])。由于OrderItem类提供的成员函数getProductpt()可获取指向被订购产品的指针,因此可通过(1)空缺处所填写的“items[k].getProductptr()->getProductId()”获取被订购产品的识别号。若指定的产品识别号等于该订单项的产品识别号,就通过(2)空缺处所填写的“items[k].getQuantity()”返回该产品被订购的数量。 类SalesSystem的成员函数statistic()用于统计产品目录中每个产品的订购总量,并打印输出每个产品的识别码、描述、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历:产品目录(ProductList)、订单列表(OrdeList)及Order(需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程如下。 ①从产品目录中取出一个产品。对应语句“for(k=0;k<catalog.getProductAmount();k++)”用于遍历产品目录中的每件产品。由于存放产品目录(产品列表)的数据成员catalog的类型为ProductList,要取得某产品的相关信息,需要通过ProductList类提供的成员函数getProductByIndex(int I)获得产品目录中的第 i件产品,因此(3)空缺处所填写的内容是“catalog.getProductByIndex(k)”。 ②查询给定产品在每份订单中的订购情况。对应的语句“for(it=sales.Begin(); (4) ;it++”用于遍历所有的订单,根据产品识别码获得给定产品在当前订单中被订购的数量。对于给定产品和订单,可调用订单类Order的成员函数getOrderedAmount(tid)获得识别码为tid的产品在当前订单中被订购的数量。因此(5)空缺处所填写的内容是“it->getOrderedAmount”。 由于类OrderList提供的方法Begin()、End()分别指向订单列表的第一个元素和最后一个元素之后,而迭代器变量it实际是指向订单列表(向量sales)中某订单的指针,因此(4)空缺处所填写的内容是“it!= sales.End()”或“it<sales.End()”。
解析
转载请注明原文地址:https://jikaoti.com/ti/41i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于软件测试原则的叙述中,不正确的是()。
以下属于测试停止依据的是______。①测试用例全部执行结束②测试覆盖率达到要求③测试超出了预定时间④查出了预定数目的故障⑤执行了预定的测试方案⑥测试时间不足
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括___________(45)。下图是一个UMI,类图,其中类University和类School之间是___________(46)关系,类Person和类PersonRecord之间
在结构化分析方法中,利用分层数据流图对系统功能建模。以下关于分层数据流图的叙述中,不正确的是___________(32)。采用数据字典为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项进行说明,其条目不包括____________(33)。
如果在查找路由表时发现有多个选项匹配,那么应该根据___________(25)原则进行选择。假设路由表有4个表项如下所示,那么与地址139.17.179.92匹配的表项是____________(26)。(25)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑(49)没有按时完成会影响整个项目的进度。若活动0→2完成后,停止3天才开始活动2→6,则完成整个项目的最少时间是(50)天。(49)
在各种不同的软件需求中,(36)描述了用户使用产品必须要完成的任务,可以用UML建模语言的(37)表示。(37)
()不是RISC的特点。
假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间
下面关于防火墙功能的说法中,不正确的是(6)。
随机试题
恩格斯在谈到巴尔扎克的《人间喜剧》时说:“从这里所学到的东西,比从当时所有职业的历史学家、经济学家和统计学家那里学到的全部东西还要多。”这说明艺术具有()功能。
右心衰竭体征的是
A.低渗性缺水B.等渗性缺水C.高渗性缺水D.低钾血症E.高钾血症长期禁食,每日静滴葡萄糖盐水、四肢软瘫、肠麻痹()
越鞠丸中,主治食郁者为越鞠丸中,主治湿郁者为
某公司引进一名人力资源总监。这名总监上任后开始实施了将员工的工作绩效进行从高到低进行排列的考评制度。小王是公司的一名普通员工,在考评期间,他的直接领导对他每天的工作情况进行了记录,并适时地与他进行了沟通,同时就绩效结果进行了反馈,为了能够提高他的工作业绩,
当期期末市场汇率下降时,下列可能发生汇兑收益的账户有()。
导游讲解的内容、景点和事物都必须以事实为依据,不要言过其实和弄虚作假,更不要信口开河。这说明导游讲解应()。
Theviewoveravalleyofatinyvillagewiththatched(草盖的)roofcottagesaroundachurch;adrivethroughanarrowvillagestr
事务处理式所有信息系统的基础工作,所以事务处理系统应达到多方面的目标,但是不包括()。
Howeverattractivethefiguresmaylookonpaper,inthelongrunthesuccessorfailureofamergerdependsonthehumanfactor
最新回复
(
0
)