问题 选择题

在第五届美洲国家首脑会议上,委内瑞拉总统查韦斯送给美国总统奥巴马一本书——《拉丁美洲:被切开的血管》。该书名喻指拉丁美洲曾经

A.建立了拉丁美洲联盟

B.爆发民族独立战争

C.形成畸形单一作物制

D.遭受西方殖民侵略

答案

答案:D

题目分析:材料中文章的题目《拉丁美洲:被切开的血管》意美洲在西方殖民者的掠夺下遭受的灭顶之灾,所以答案选择D项。ABD都与材料内容不相关。

填空题

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

[说明]

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

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

[C++代码]

#include<iostream>

#include<list>

#include<string>

using namespace std;

clas s MenuComponent

protected: string name;

public:

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

String getName()return name;

(1) : //添加新菜单

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

;

clasS MenuItem: public MenuComponent

private: double price;

public:

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

double getPrice()return price;

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

void print() cout<<" "<<getName()<<", "<<getPrice()<<end1;

;

clasS Menu: public MenuComponent

private: list< (2) > menuComponents;

pubiic:

Menu(string name): MenuC0mponent(name)

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

(3) ;

void print()

cout<<"\n"<<getName()<<"\n-------------------------"<<end1;

std::list<MenuC0mponent*>::iterator iter;

for(iter=menuComponents.begin(); iter!=menuComponents. end(); iter++)

(4) ->print();

;

void main()

MenuComponent* allMenus=new Menu("ALL MENUS");

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

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

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

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

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

文中(3)处应为()。

单项选择题