首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内? 【说明】 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图10.41所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内? 【说明】 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图10.41所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以
admin
2018-07-25
88
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内?
【说明】
某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图10.41所示。
现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中添加新的餐饮形式,得到如图10.42所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图10.41中的甜点菜单。类Menultem表示菜单中的菜式。
【C++代码】
#include<iostream>
#include<list>
#include<string>
using namespace std;
class MenuC0mponent{
protected:string name;
public:
MenuComponent(String name){this->name=name; }
sting getName(){return name;}
_____(1); //添加新菜单
virtual void print()=0; //打印菜单信息
};
class MenuItem:public MenuComponent{
private:double price;
public:
MenuItem(string name,double price):MenuComponent(name){this->price=price;}
double getPrice(){return price;}
void add(MenuComponent*menuComponent){return;} //添加新菜单
void print()(tout<<’’ ’’>>getName()<<’’,’’<<getPrice<<end1;}
};
Class Menu:public MenuComponent{
private:list<_____(2)>menuComponents;
public:
Menu(string name):MenuComponent(name){}
void add(MenuComponent*menuComponent) //添加新菜单
{ _____(3); }
void print(){
cout<<’’\n’’<<getName()<<’’\n----------------------------’’<<end1;
std::list
for(iter=menuComponents.begin();iter!=menuComponents.end();iter++)
_____(4)->print();
}
};
void main(){
MenuComponent*allMenus=new Menu(’’LL MENUS’’);
MenuC0mponent*dinerMenu=new Menu(’’DINER MENU’’);
…//创建更多的Menu对象,此处代码省略
allMenus->add(dinerMenu); //将dinerMenu添加到餐厅菜单中
…//为餐厅增加更多的菜单,此处代码省略
_____(5)->print();//打印饭店所有菜单信息
}
选项
答案
(1)virtual void add(MenuComponent*menuComponent)=0 (2)MenuComponent* (3)menuComponents->push_back(menuComponent) (4)(*iter) (5)allMenus
解析
MenuComponent是虚基类,其中要定义添加新菜单纯虚函数,函数体在其派生类Menultem和Menu中实现。空(1)处应填入virtual void add(MenuComponent*menuComponent)=0。
在类Menu中定义了列表menuComponents,用于保存添加的新菜单,由std::list<MenuComponent*>::iterator iter可知列表的类型为MenuComponent*,故空(2)处应填入MenuComponent*。
添加菜单时,可以从menuComponents列表的前面添加,也可以从menuComponents列表的后面添加,但通过菜单的输出函数可知,菜单是从列表的后面添加的,因此空(3)处应填入menuComponents->push_back(menuComponent)。
iter是迭代器,用于遍历菜单列表menuComponents,空(4)处应填A.(*iter)。
在主函数,打印饭店所有菜单信息的函数调用为allMenus->print()。
转载请注明原文地址:https://www.kaotiyun.com/show/17DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。某商务公司在全国各城市共有15个分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。每个
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
阅读以下说明,回答问题1至问题3。【说明】路由器中IP访问控制列表能够帮助控制网上包的传输。
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
认真阅读下列有关Linux操作系统的Samba配置技术的说明,根据要求回答问题1至问题6。【说明】SMB(ServerMessageBlock,服务消息块)协议主要用于实现Windows和Linux操作系统中计算机之间共享打印机、共享串行接
阅读以下基于Linux操作系统部署DHCP服务的技术说明,根据要求回答问题1至问题3。【说明】某地市图书馆内部局域网划分为办公区、电子阅览室、无线阅览室等3个VLAN,并通过一台带防火墙模块的路由器与Internet网互连。为了便于整个局域网IP
认真阅读下列有关Linux操作系统环境下配置Apache服务器的技术说明,根据要求回答问题1至问题5。【说明】随着电子商务日益普及,A公司建构了一台装有RedhatLinux9.0操作系统的虚拟服务器,为各类客户提供网上架构商务站点的Web服
在图8-12所示的拓扑结构中的代理服务器上依次单击“开始→程序→管理工具→路由与远程访问,并在系统弹出的界面中打开“IP路由选择”目录树,然后用鼠标右键单击“NAT/基本防火墙”,选择[新增接口]命令。接着若选择接口1的“本地连接”,最后进行如图8-13所
随机试题
甲厂以招标方法向社会公开征集企业形象标识设计。最后,甲厂职工乙的设计稿被选用作为企业形象标识。乙设计的标识属于()
提出有限理性模型的学者是()
Sometimeschildrenarekidnapped.Kidnappingislikestealingachild.Itisimportantthatkidnappedchildrenarefoundandbro
女,24岁,头晕、乏力伴月经量增多1年,既往体健。查体:下肢皮肤瘀点,肝脾肋下未触及。血常规:Hb60g/L,WBC2.8×109/L,PLT38×109/L,网织红细胞0.001。胸骨骨髓细胞学检查:骨髓增生活跃,未见巨核细胞。最可能的诊断是
选址时要了解水文地质情况,以下哪项不属于此范围?[2006年第63题]
资料(1)葛先生的基本养老金计划:①葛先生年满60岁,从某外资公司退休,具有工龄38年;②退休前月当地平均工资2000元;③退休前月当期薪酬收入6200元;④退休时国家基本养老金个人账户积累总额8万;⑤过渡性养老金政策即工龄×5(元)。资料(2)葛先生的企
采矿、煤炭、石油等资源开发业,多年来一直是我国重点扶植的产业,这对于一定时期内振兴国民经济和实现经济资助是有积极意义的。但是,由于资源开发缺乏中长期整体规划,采矿、煤炭、石油等部门只知道单纯地增加年度产量,忽略了资源的合理利用,从而导致资源枯竭已见端倪,同
2011年全国全年粮食种植面积11057万公顷,比上年增加70万公顷;棉花种植面积504万公顷,增加19万公顷;油料种植面积1379万公顷,减少10万公顷;糖料种植面积195万公顷,增加4万公顷。全年粮食产量57121万吨,比上年增加2473万吨
Don’tCountonDung"Conservationists(自然保护主义者)maybemiscalculatingthenumbersofthethreatenedanimalssuchaselephants,
Don’ttrusthim.Heis______sometricks.
最新回复
(
0
)