用MFC写一个用回调代替switch case代码段
时间: 2023-04-06 13:01:00 浏览: 122
一个使用MFC的VC++数组类代码
好的,我可以回答这个问题。使用回调函数代替 switch case 代码段可以提高代码的可读性和可维护性。具体实现方法如下:
1. 定义一个函数指针类型,用于指向回调函数。
2. 在需要使用 switch case 的地方,将每个 case 对应的操作封装成一个函数,并将函数指针指向这些函数。
3. 在 switch case 中,使用函数指针调用对应的函数,完成相应的操作。
这样,当需要添加新的 case 时,只需要添加一个新的函数,并将函数指针指向它即可,不需要修改原有的代码。
示例代码如下:
typedef void (*CallbackFunc)(int);
void func1(int arg)
{
// do something
}
void func2(int arg)
{
// do something
}
void func3(int arg)
{
// do something
}
int main()
{
CallbackFunc callbacks[] = {func1, func2, func3};
int choice = 1;
callbacks[choice](10); // 调用 func2 函数
return 0;
}
阅读全文