#include "Menu.h" Menu::Menu(const char *const name,DisType dt) : name_(name) { } Menu::~Menu() { std::cout << "Menu " << name_ << " destroyed" << std::endl; for (auto &item : menu_items) { item.reset(); } } string Menu::get_name() { return name_; } int Menu::select() { int ret = -1; int choice; int count = 0; for (auto &item : menu_items) { std::cout << item->get_name() << " : " << count++ << std::endl; } if (choice >= 0 && choice <= menu_items.size()) { ret = menu_items[choice]->select(); // if(!ret) // g_call(); } count = 0; choice = 0; return ret; } void Menu::add_menu_item(unique_ptr menu_item) { menu_items.push_back(std::move(menu_item)); }