首页 > 题库 > 职业考证 > 软考 > 软件设计师 > 案例题

阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图5-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现采用组合(composite)设计模式实现层叠菜单,得到如图5-2所示的类图,层叠菜单(如图5-1示例)。



图5-2 类图

【C++代码】

#include

#include

#include

using namespace std;

class MenuComponent { //构成层叠菜单的元素

(1):

string name; //菜单项或子菜单名称

public:

void printMenu(){cout<<name;}

(2);

virtual void removeMenuElement(MenuComponent *element)=0;

(3);

};

class MenuItem:public MenuComponent {

public:

MenuItem(string name){this->name=name;}

void addMenuElement(MenuComponet *element){return ;}

void removeMenuElement(MenuComponent *element){return ;}

list *getElement(){return NULL;}

};

class Menu :public MenuComponent{

private:

(4);

public:

Menu(string name){this->name=name;}

void addMenuElement(MenuComponent *element)

{elementList.push_back(element);}

void removeMenuElement(MenuComponent *element)

{elementList.remove(element);}

list*getElement(){return &elementList;}

};

int main(){

MenuComponent *mainMenu=new Menu(“Insert”);

MenuComponent *subMenu=new Menu(“Chart”);

MenuComponent *element =new MenuItem(“On This Sheet”);

(5);

subMenu->addMenuElement(element);

return 0;

}

参考答案: 查看答案 查看解析 下载APP畅快刷题

相关知识点试题

相关试卷