| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:类的继承问题
取消只看楼主 加入收藏
乔峰不会
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2009-10-21
结帖率:50%
收藏
 问题点数:0 回复次数:0 
类的继承问题
在学类的多态性的时候,会把派生类的对象的地址赋值给基类的指针,
比如 class B{
            public : int a, b;
            };
    class C : public B{
            public : int c;
            };
    B * b;
    C  c1; C * pc;
    b = &c1;  
  听老师说此时 b 指向了 c1 的地址,就是说保存了c1的全部信息,即如果
  pc = b;那么pc就能访问c1 的全部成员了,也就是pc保存并能访问c1所有的东西了,而 b 就不能访问 c1.c这个成员,但是在执行  B * b; 时,系统规定 b 所保存的地址只有B类的对象那么大(8个字节) ,但是C类的对象却有 12个字节,就是说子类的对象所需的内存空间较大,那么怎么使得 b 这个指针保存 c1 的所有成员呢??
  各位大侠帮帮忙,我被困扰好久了,拜托了!!
  请详细解答一下,先谢了。      
搜索更多相关主题的帖子: 继承 
2009-10-23 10:26
快速回复:类的继承问题
数据加载中...
 
   



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

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