问题 填空题

阅读下列说明和C++代码,将应填入空 (n) 处的字句写在对应栏内。

[说明]

某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图18-27所示。

现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如图18-28所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图18-27中的甜点菜单。类MenuItem表示菜单中的菜式。

[C++代码]

#include<iostream>

#include<list>

#Include<string>

using namespace std;

class MenuComponent

protected:string name;

public:

MenuComponent(String name)(this->name=name;

string getName()return name;

(1) ; //添加新菜单

virtual void print()=0; //打印菜单信息

class Menultem:public MenuComponent

private:double price;

public:

Menultem(string name,double price):MenuComponent(name)(this->price=price;

double getPrice()return price;

void add(MenuComponent *menuComponent)retum;//添加新菜单

void print()cout<<" "<<getName0<<","<<getPrice0<<end1;

class Menu:public MenuC0mponent

private:list< (2) >menuComponents;

public:

Menu(string name):MenuComponent(name)

void add(MenuComponent *menuComponent)//添加新菜单

(2)

VOid print()

cout<<"\n"<<getNameO<<"\n---------------"<<end1;

Std::list<MenuComponent*>::iterator iter,

for(iter=menuComponents.begin0;iter!=menuComponents.end0;iter++)

(4) ->print();

void main()

MenuComponent *al IMenus=new Menu("ALL MENUS");

MenuComponent *dinerMenu=new Menu("DINER MENU");

……∥创建更多的Menu对象,此处代码省略

alIMenus->add(dinerMenu); ∥将dinerMenu添加到餐厅菜单中

……∥为餐厅增加更多的菜单,此处代码省略

(5) ->printO; ∥打印饭店所有菜单的信息

(5)处填()。

答案

参考答案:aIIMenus.print()

阅读理解与欣赏

阅读下面的文段,完成1——4题。

生死攸关的烛光

  ①第二次世界大战期间,法国有一位家庭妇女,人称伯诺德夫人。她身边只有两个幼小的儿女,为把德国强盗赶出自己的祖国,母子三人都参加了秘密情报工作。     

  ②伯诺德夫人的任务是把收到的绝密情报藏好,等盟军派人前来取走。为了情报安全,她想了许多办法,但始终放心不下。最后,她终于想到了一个绝妙的主意——把装着情报的小金属管藏在半截蜡烛中,然后把它插在一个烛台上。由于蜡烛摆在显眼的桌子上,反而骗过了德军严密的搜查。     

  ③一天晚上,屋里闯进了三个德国军官,他们坐下后,一个中尉顺手拿过藏有情报的蜡烛点燃,放到少校军官面前。伯诺德夫人知道,万一蜡烛点燃到金属管处就会自动熄灭,蜡烛的秘密就会暴露,秘密情报站就会遭到破坏,同时也意味着她们一家三口的生命将告结束。她看着两个脸色苍白的孩子,急忙从厨房中取出一盏油灯放在桌上:“瞧,先生们,这盏灯亮些。”说着轻轻把蜡烛吹熄。一场危机似乎过去了。  

  ④轻松的心情没有持续多久,那位中尉又把冒着青烟的烛芯重新点燃。“晚上这么黑,多点支小蜡烛也好嘛。”他说。     

  ⑤时间一分一秒地过去。这时候,大儿子杰克慢慢地站起来:“天真冷,我到柴房去搬些柴来生个火吧。”说着伸手端起烛台朝门口走去。屋子顿时暗下来了。中尉快步赶上前,厉声喝道:“你不用蜡烛就不行吗?”一把夺回烛台。孩子是懂事的,他知道,厄运即将到来了。在斗争的最后时刻,他从容地搬回一捆木柴,生了火,默默地坐待着。烛光摇曳着,发出微弱的光。此时此刻,他仿佛成了这屋子里最可怕的东西。伯诺德夫人的心提到了嗓子眼上,她似乎感到德军那几双恶狼般的眼睛盯在越来越短的蜡烛上。 

  ⑥突然,小女儿杰奎琳娇声地对德国人说道:“司令官先生,天晚了,楼上黑,我可以拿一盏灯上楼睡觉吗?”少校瞧了瞧这位可爱的小姑娘说:“当然可以。我家也有一个你这样年纪的小女儿。”杰奎琳镇定地把烛台端起来,向几位军官道过晚安,上楼去了。     

  ⑦正当她踏上最后一级楼梯时,蜡烛熄灭了。

1、第⑤段中,“他知道,厄运即将到来了”,“厄运”在文中具体指什么?

_________________________________________________________

2、“你不用蜡烛就不行吗?”保持原意,把这个反问句改为陈述句是_______________。联系上下文可看出,文中用反问句而不用陈述句,是为了表现那个中尉____________的态度。

3、“伯诺德夫人的心提到了嗓子眼上,她似乎感到德军那几双恶狼般的眼睛盯在越来越短的蜡烛上。”这个句子分别运用_________了和比喻的修辞手法,表现了伯诺德夫人此时既_______又________的复杂心理。其中的比喻句写出了德军的___________。

4、母子三人保护秘密情报的行为表现出她们_________、_________、_________的优秀品质。

单项选择题 A1/A2型题