反馈
问题:
<p>试题五(共15分)</p>
选项 :
<p>阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。</p><p>【说明】</p><p>层叠买单是留口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如</p><p>到5-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单。现采用组合(Compasite)设计模式实现层叠菜单,得到如图5-2所示的类图。</p><p><img style='width:100%;' src="https://files.lightsoft.tech/rkfiles/images/20210616/1623832393708263.jpg"></p><p>【C++代码】</p><p>#include <list></p><p>#include <iostream></p><p>#include <string></p><p>using namespace std;</p><p>class MenuComponent{//构成层叠菜单的元素</p><p><span style='color:red;'>( )</span> :</p><p>string name; //菜单项或子菜单名称</p><p>public:</p><p>void printMenu0 { cout < <name;}</p><p><span style='color:red;'>( )</span></p><p>virtual void removeMenuElement (MenuComponent*element) =0;</p><p><span style='color:red;'>( )</span></p><p>}</p><p>class Menultem:public MenuComponent {</p><p>public:</p><p>Menultem (string name) { this->name-name;}</p><p>void addMenuElement (MenuComponent*element) { retum;}</p><p>void removeMenuElement (MenuComponent*element) {retum;}</p><p>list <MenuComponent*> *getElemento { retum NULL; }</p><p> }:</p><p>class Menu:public MenuComponent{</p><p>private:</p><p><span style='color:red;'>( )</span></p><p>public:</p><p>Menu (string name) {this->name = name;}</p><p>void addMenuElement (MenuComponent*element) |elementList.push_back {element) ; }</p><p>void removeMenuElement (MenuComponent*element) {elementList.remove{element);}</p><p>list <MenuComponent*> *getElement0 { return&elementList;}</p><p>};</p><p>int main0<span style='color:red;'><span style='color:red;'>( )</span></span> {</p><p>MenuComponent*mainMenu = new Menu ("Insert") ;</p><p>MenuComponent*subMenu=new Menu ("Chart") ;</p><p>MenuComponent*element=new Menultem ("On This Sheet") ;</p><p><span style='color:red;'>( )</span></p><p>subMenu-> addMenuElement (element) ;</p><p>returm 0;</p><p>}</p>
答案: