我有一项任务是在里面创建一个包含键值和函数的地图。我设法做到了。现在我需要创建一个循环,我需要通过向上,向下,向左,向右键盘按钮调用不同的打印功能(例如,我按下,功能打印“向上”)。知道怎么样?我的导师告诉我,这是理解功能对象用法的一种做法。这是我现在的计划:
#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;
}