<p> (1)virtualvoidadd(MenuComponent*menuComponent)=0<br> (2)MenuComponent*<br> (3)menuComponents->push_back(menuComponent)<br> (4)(*iter)<br> (5)allMenus</p>
MenuComponent是虚基类,其中要定义添加新菜单纯虚函数,函数体在其派生类Menultem和Menu中实现。空(1)处应填入virtualvoidadd(MenuComponent*menuComponent)=0。在类Menu中定义了列表menuComponents,用于保存添加的新菜单,由std::list::iteratoriter可知列表的类型为MenuComponent*,故空(2)处应填入MenuComponent*。添加菜单时,可以从menuComponents列表的前面添加,也可以从menuComponents列表的后面添加,但通过菜单的输出函数可知,菜单是从列表的后面添加的,因此空(3)处应填入menuComponents->push_back(menuComponent)。iter是迭代器,用于遍历菜单列表menuComponents,空(4)处应填入(*iter)。在主函数,打印饭店所有菜单信息的函数调用为allMenus->print()。