CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

虚拟函数的地址?

楼主Xiaobaisha2001(小白鲨2001)2004-05-01 20:31:15 在 C/C++ / C++ 语言 提问

我用一个成员函数的指针,去指向一个虚拟成员函数。  
  但在调试的时候,却发现   赋值以后,这个值并不和   虚拟函数表中的地址一样,那是为什么?  
   
  如   :  
   
  class   A{  
  public:    
            virtual   void   test(){   cout<<"A::test()"<<endl;}  
            vittual   void   test2(){   cout<<"A::test2()"<<endl;  
  };  
   
  void   main()  
  {  
      A   *a   =   new   A   ;  
      (A::*p)()   =   a->test;  
      //   赋值以后,p   的值   和   调试的一个对话框中   看到的   a   中虚拟函数表中的函数  
      //   的地址   不一样  
       
      int   i   =   **(int   **)   a;  
      //   我是通过这种方式得到A   中第一个虚函数的地址的,这和调试对话框中看到的  
      //   值是相等的.   我这样对不对?  
  }  
   
  请多指教  
         
   
  问题点数:0、回复次数:1Top

1 楼Jinhao(辣子鸡丁·GAME就这样OVER了)回复于 2004-05-01 20:50:11 得分 0

这短代码错误不少。  
  下面这个东西可能对你有帮助  
  http://www.csdn.net/develop/article/23/23529.shtmTop

相关问题

  • 关于虚拟函数
  • 虚拟函数问题
  • 虚拟函数问题
  • 关于虚拟函数
  • 模板函数地址
  • LIST表和虚拟函数问题?
  • C++中虚拟函数表的问题
  • 关于虚拟函数的问题
  • 一个C++虚拟函数的问题
  • 关于虚拟函数的问题

关键词

  • 函数
  • 虚拟
  • 地址
  • 赋值
  • 调试
  • 表
  • 成员
  • 中
  • 对话框中看到
  • test

得分解答快速导航

  • 帖主:Xiaobaisha2001

相关链接

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

广告也精彩

反馈

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