23.引用函数指针

 1 #include <iostream>
 2 #include <cstdlib>
 3 using namespace std;
 4 
 5 //指行system指令
 6 void gocmd(const char *cmd)
 7 {
 8     system(cmd);
 9 }
10 
11 //输出cmd指令
12 void showcmd(const char *cmd)
13 {
14     cout << cmd << endl;
15 }
16 
17 //改变函数指针的指向
18 void change(void(*&p)(const char *cmd))
19 {
20     p = showcmd;
21 }
22 
23 //返回值是函数指针引用
24 void (* &getp())(const char *cmd)
25 {
26     void(*p)(const char *cmd)(gocmd);
27     return p;
28 }
29 
30 void main()
31 {
32     //改变函数指针的指向
33     /*void(*p)(const char *cmd)(gocmd);
34     change(p);
35     p("calc");*/
36     void(*p)(const char *cmd) = getp();
37 
38     p("calc");
39     cin.get();
40 }

 

posted @ 2018-03-11 20:42  喵小喵~  阅读(125)  评论(0编辑  收藏  举报