文章标题

来源:互联网 发布:淘宝个性主题 编辑:程序博客网 时间:2024/06/06 01:57

问题描述:
如果我们需要做一个这样的程序,当用户输入”hello”时,我调用hello函数,当用户输入”hey”时,我调用hey函数,像这样的对应关系,用户可能会有数千种输入,每种输入对应一个我需要调用的函数。

一般的方法,肯定是这样,在程序处理流程中,这样写:

[cpp] view plain copy
if (0 == strcmp(strInput, “hello”))
{
hello();
}
else if (0 == strcmp(strInput, “hey”))
{
hey();
}
else if
{
…..

这样的程序分支,写下来就是不断地重复,等你需要添加新的函数时,不得不在一个已经写得很长的函数里面不断地加else if,而且不能支持处理函数的动态添加,比如我突然觉得“hello”的输入要交给hey()函数来处理了,那我只能在编译期修改它,不能在程序运行之后再修改。
现在有一个好办法,我们可以使用函数指针来处理这些处理函数的对应关系,下面举一个例子

[cpp] view plain copy

include

include

原创粉丝点击