У меня есть задача создать карту с ключевыми значениями и функциями внутри. Мне удалось это сделать. Теперь мне нужно создать цикл, в котором мне нужно вызывать другую функцию печати, нажимая кнопки клавиатуры вверх, вниз, влево, вправо (например, я нажимаю вверх, функция печатает «ВВЕРХ»). Есть идеи как? Мой наставник сказал мне, что это практика для понимания использования объекта функции. Вот моя программа на данный момент:
#include <functional>
#include <iostream>
#include <string.h>
#include <map>using namespace std;void up (){
cout<<"UP";
}
void down (){
cout<<"DOWN";
}
void left (){
cout<<"LEFT";
}
void right (){
cout<<"RIGHT";
}int main (){
typedef map<int, void (*)()> mapaF;
mapaF Kretnje;
Kretnje.insert(pair<int,void (*)() >(1, up));
Kretnje.insert(pair<int, void (*)()>(2, down));
Kretnje.insert(pair<int, void (*)()>(3, left));
Kretnje.insert(pair<int, void (*)()>(4, right));
for(auto a: Kretnje){
cout<<"Kljuc: "<<a.first<<" Funkcija: ";
a.second();
cout<<endl;
}return 0;
}
Задача ещё не решена.
Других решений пока нет …