首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某订单管理系统的技术说明、部分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
71
问题
阅读以下关于某订单管理系统的技术说明、部分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://www.kaotiyun.com/show/qMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设实体集E1中的一个实体可与实体集E2中的多个实体相联系,E2中的一个实体只与E1中的一个实体相联系,那么E1和E2之间的联系类型为()。
以下叙述中,不正确的是()。
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(40)
以下关于信息安全的叙述,不正确的是______。A.SYN洪水攻击通过发送大量TCP连接请求以占满网络带宽,使其他用户无法正常连接服务B.缓冲区溢出攻击能通过修改函数返回地址并执行恶意代码,进而获得系统的控制权C.计算机病毒的主要特征包括破坏性、寄生
双层双面只读DVD盘片的存储容量可以达到(59)。
软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段的复审期间,应该从(8)出发;评价软件的结构和过程。
以下用例图中,A1和A2为(47)。A1和A2的关系为(48)。(47)
在各种不同的软件需求中,(36)描述了用户使用产品必须要完成的任务,可以用UML建模语言的(37)表示。(37)
将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是()。
与XY(即X与Y不相同时,XY的结果为真)等价的逻辑表达式为________________。
随机试题
A.朱砂B.自然铜C.雄黄D.炉甘石E.石膏表面灰白色或淡红色,无光泽,凹凸不平,多孔,似蜂窝状的药材是
债券的信用评级
患者,男性,57岁,干咳伴午后低热2个月,今上午突然咯血300ml来院急诊。对此患者的病情观察,尤其要密切注意
关于肝硬化自发性腹膜炎,正确的描述是
依据《刑事诉讼法》的相关规定,下列说法错误的是哪项?
盾构机的主要选择原则中不包括()。
在采用先电子数据申报,后提交纸质报关单申报的情况下,海关接受申报的时间以海关在纸质报关单上做出登记处理的日期为准。
在学科教学中,渗透心理健康教育,必须抓好课前设计环节、_________、师生交往环节。
清凉的天气已经__________了整整一周时间,气象部门提醒,由于春天是雷电和强降水多发季节,市民要及时做好__________,减少因强对流天气造成的损失。依次填入划横线部分最恰当的一项是()。
下列关于OSPF协议的描述中,错误的是()。
最新回复
(
0
)