标题:C++问题,有空的来看看,帮解决个问题
取消只看楼主
无诲今生
Rank: 8Rank: 8
来 自:桂林理工大学
等 级:蝙蝠侠
威 望:2
帖 子:373
专家分:726
注 册:2009-5-11
结帖率:93.48%
已结贴  问题点数:20 回复次数:1 
C++问题,有空的来看看,帮解决个问题
谁能帮解释下这个程序?主要是什么会输出100?
#include<iostream.h>   
  class   base{};     
  class derived1:public base   
  {     
  private:     
  int d_a1;     
  int d_b1;     
  public:     
  void display_a(void)     
  {     
  cout<<"d_a1 ="<<d_a1<<endl;;     
  }     
  };   
  
  class derived2: public base     
  {     
  public:     
  int d_a2;     
  int d_b2;     
  };     
  void main()     
  {     
  int base::*p;  
  p=(int base::*)&derived2::d_a2;         
  derived1 d1;     
  d1.*p=100;        
  d1.display_a();   
  }     
搜索更多相关主题的帖子: private include public 
2009-10-29 11:14
无诲今生
Rank: 8Rank: 8
来 自:桂林理工大学
等 级:蝙蝠侠
威 望:2
帖 子:373
专家分:726
注 册:2009-5-11
得分:0 
为什么“因为&derived2::d_a2的偏移为0,所以p=0;“??

顺境逆境切莫止境,得意失意切莫在意。
2009-10-30 21:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290349-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.106715 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved