1 / 7
文档名称:

2011年上半年(下午)《软件设计师》真题.docx

格式:docx   大小:199KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2011年上半年(下午)《软件设计师》真题.docx

上传人:住在富人区的她 2022/2/14 文件大小:199 KB

下载得到文件列表

2011年上半年(下午)《软件设计师》真题.docx

相关文档

文档介绍

文档介绍:2011年上半年(下午)《软件设计师》真题
注意:图片可根据实际需要调整大小
卷面总分:6分
答题时间:240分钟
试卷题量:6题
练****次数:0次


问答1、0..*、1..1和1..*,而*与0..*是等价的。
由于一个图形编辑器实例可以有一个工具实例,当然也可以没有工具实例,而一个工具实例只能属于一个图形编辑器实例,因此空(3)与空(4)分别为0..1和1。而一个图形至少需要包含一个图形元素,也可以包含多个图形元素,而一个图形元素实例只能属于一个图形实例,所以空(5)与空(6)应该分别是1和1..*。
【问题3】
本问题主要考查桥接模式的基本内容。
桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化,对一个抽象的实现部分的修改应该对使用它的程序不产生影响。

,其菜单的结构图如下图所示。
图5-1菜单结构图
现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如下图所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图中的甜点菜单。类MenuItem表示菜单中的菜式。
图5-2类图
【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<<""<<getName(  )<<","<<getPrice(  )<<endl;)
};
class Menu:public MenuComponent{
private:list<(2)>menuComponents;
public:
Menu(string name):MenuComponent(name){}
void add(MenuComponent*menuComponent)//添加新菜单