网站大量收购闲置独家精品文档,联系QQ:2885784924

在多继承中,基类指针是如何指向派生类对象的.jsp.doc

在多继承中,基类指针是如何指向派生类对象的.jsp.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在多继承中,基类指针是如何指向派生类对象的.jsp

在多继承中,基类指针是如何指向派生类对象的? ? ? ? ? 各位看官看到这个题目可能要笑了,这么简单清楚的事情也要罗嗦,其实,简单的事情仔细想想,有时也能想出问题来. ? ? ? ? 好了,闲话少叙,先说一段关于多继承的程序. ? ? ? ? #include ? iostream ? ? ? ? #include ? conio.h ? ? ? ? using ? namespace ? std; ? ? ? ? // ? ? ? ? class ? Base{ ? ? ? ? public: ? ? ? ? ? ? int ? _i1; ? ? ? ? ? ? int ? _i2; ? ? ? ? ? ? int ? _i3; ? ? ? ? ? ? virtual ? void ? displayA() ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? coutin ? base,display ? function.endl; ? } ? ? ? ? ? ? ? ? ? ? }; ? ? ? ? // ? ? ? ? class ? AnotherBase{ ? ? ? ? public: ? ? ? ? ? ? int ? _k; ? ? ? ? ? ? virtual ? void ? displayB() ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? coutin ? anotherbase,displayB ? function.endl; ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? }; ? ? ? ? // ? ? ? ? class ? Derive:public ? Base,public ? AnotherBase{ ? ? ? ? public: ? ? ? ? ? ? int ? _n; ? ? ? ? ? ? void ? displayA() ? {coutderive ? ,displayA.endl;} ? ? ? ? ? ? void ? displayB() ? {coutderive ? ,displayB.endl;} ? ? ? ? }; ? ? ? ? ? ? int ? main() ? ? ? ? { ? ? ? ? ? Derive ? myDerive,*pDerive=myDerive; ? ? ? ? ? Base ? *pBase=NULL; ? ? ? ? ? AnotherBase ? *pAnotherBase=NULL; ? ? ? ? ? ? ? pBase=pDerive; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // ? --- ? attention ? ? ? ? ? pAnotherBase=pDerive; ? ? ? ? ? ? ? ? ? ? ? ? ? // ? --- ? attention ? ? ? ? ? ? ? ? ? coutthe ? address ? stored ? in ? pBase=pBaseendl; ? ? ? ? ? coutthe ? address ? stored ? in ? pAnotherBase=pAnotherBaseendl; ? ? ? ? ? //coutsize ? of ? class ? Base ? is ? sizeof(Base)endl; ? ? ? ? ? //coutsize ? of ? class ? AnotherBase ? is ? sizeof(AnotherBase)endl; ? ? ? ? ? //coutsize ? of ? class ? Derive ? is ? sizeof(Derive)endl; ? ? ? ? ? getchar(); ? ? ? ? ? return ? 0; ? ? ? ? } ? ? ? ? 每个人的运行结果都不会一样。我这里的结果是 ? ? ? ? the ? address ? stored ? in ? pBase=0012FF64 ? ? the ? address ? stored ? in ? pAnotherBase=0012FF74 ? ? ? ? 是不是有一些惊讶?同一个pDerive分别赋值给pBase,pAnotherBase指针,居然产生了两个不同的值。让我们再仔细的看一下:pAnothe

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档