Есть родительский класс меню, в нем есть метод print_menu(), который выводит в консоль названия пунктов меню (например "ввести значения") из списка, который определяется в наследнике. При выборе пункта меню должна отработать функция класса наследника, которая за него отвечает.
В питоне это можно было сделать при помощи словаря.
class AMenu(ABC):
def __init__(self):
self.menu_fields = {}
def print_menu(self):
for i in self.menu_fields.keys():
print(i)
class Menu(AMenu):
def __init__(self):
self.menu_fields = {"пункт меню 1": self.method1,
"пункт меню 2": self.method2}
def method1(self):
pass
def method2(self):
pass
m = Menu()
m.print_menu()
Пробовал решить эту задачу в си++ при помощи map, но как оказалось в си++ ты не сможешь записать метод класса в словарь так просто.
Вопрос собственно в том можно ли как-то в си++ класс родителя перекидывать <название пункта меню, функция за него отвечающая>?