c++ Use Function Pointer to Make Menu Manager


#include <iostream>
using namespace std;

struct MENU
{
	const char* name;
	void (*func)();
};



void FileFunc()
{
	cout << "File" << endl;
}
void EditFunc()
{
	cout << "Edit" << endl;
}
void ViewFunc()
{
	cout << "View" << endl;
}
void ExitFunc()
{
	cout << "Exit" << endl;
}

MENU menu[] =
{
	{"文件菜单",FileFunc},
	{"编辑菜单",EditFunc},
	{"视图菜单",ViewFunc},
	{"退出菜单",ExitFunc},
};

int main()
{
	int sel = 0;
	for (size_t i = 0; i < 4; i++)
	{
		cout << i + 1 << menu[i].name << "\n";
	}
	while (true)
	{

		cout << "选择编号";
		cin >> sel;
		if (sel == 5)
		{
			break;
		}
		(*menu[sel - 1].func)();

	}
	return 0;
}



 

Guess you like

Origin blog.csdn.net/dxm809/article/details/115268464