CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

请教大家C++编程思想第三章有关函数指针的一个问题,谢谢。

楼主Woody107()2005-04-09 00:16:53 在 C/C++ / C++ 语言 提问

P101    
  using   namespace   std;  
   
  //   A   macro   to   define   dummy   functions:  
  #define   DF(N)   void   N()   {   \  
        cout   <<   "function   "   #N   "   called..."   <<   endl;   }  
   
  DF(a);   DF(b);   DF(c);   DF(d);   DF(e);   DF(f);   DF(g);  
   
  void   (*func_table[])()   =   {   a,   b,   c,   d,   e,   f,   g   };  
   
  int   main()   {  
      while(1)   {  
          cout   <<   "press   a   key   from   'a'   to   'g'   "  
              "or   q   to   quit"   <<   endl;  
          char   c,   cr;  
          cin.get(c);   cin.get(cr);   //   second   one   for   CR  
          if   (   c   ==   'q'   )    
              break;   //   ...   out   of   while(1)  
          if   (   c   <   'a'   ||   c   >   'g'   )    
              continue;  
          (*func_table[c   -   'a'])();  
      }  
  }   ///:~  
   
  这个函数指针是怎样被赋值的?  
  void   (*func_table[])()   =   {   a,   b,   c,   d,   e,   f,   g   };  
  这跟void   N()有什么关系?为什么会调用void   N()呢?  
  书上说   这是使用"自动集合初始化功能创建指向这些函数的指针数组",不明白!  
  请大家指点一下,万分感谢。 问题点数:20、回复次数:5Top

1 楼Woody107()回复于 2005-04-09 18:11:05 得分 0

自己顶一下Top

2 楼Woody107()回复于 2005-04-10 09:21:47 得分 0

???Top

3 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-04-10 09:44:05 得分 20

#define   DF(N)   void   N()   {   \  
        cout   <<   "function   "   #N   "   called..."   <<   endl;   }  
   
  DF(a);  
   
  //将DF(a)展开  
  void   a(){  
  cout   <<   "Function   a   called..."<<endl;}Top

4 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-04-10 09:46:02 得分 0

DF(a);   DF(b);   DF(c);   DF(d);   DF(e);   DF(f);   DF(g);  
  定义了7个函数,函数名为a,b,c,d,e,f,g  
   
  void   (*func_table[])()   =   {   a,   b,   c,   d,   e,   f,   g   };  
  函数数组func_table,赋值a~gTop

5 楼Woody107()回复于 2005-04-10 10:41:48 得分 0

Thank   you   very   much!Top

相关问题

  • C++ 函数指针问题?
  • C++成员函数怎么转换成C函数指针?
  • 成员函数指针-----C++小问题
  • C++中函数指针的作用
  • 编译错误。函数指针和类的编程问题。
  • 函数指针
  • 指针函数
  • 函数指针
  • 函数指针
  • 函数指针

关键词

  • define

得分解答快速导航

  • 帖主:Woody107
  • zengwujun

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo