补充阅读程序-4
2016-05-10 14:54
176 查看
/*copyright(c)2016.烟台大学计算机学院 02. * All rights reserved, 03. * 文件名称:text.Cpp 04. * 作者:刘涛 05. * 完成日期:2016年5月9日 06. * 版本号:vc++6.0 07. */ #include<iostream> using namespace std; class A { public: int n; }; class B:public A {}; // class B:virtual public A{}; class C:public A {}; // class C:virtual public A{}; class D:public B,public C { public: int getn() {return B::n;} }; int main() { D d; d.B::n=10; d.C::n=20; cout<<d.getn()<<endl; return 0; }
运行结果:
<img src="http://img.blog.csdn.net/20160510143442706?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
分析:此题中,B,C都是A的派生类,所以在主函数调用的时候前面要加上类名::来区别,又因为D为B,C的派生类,所以return的时候return的是B::的n,所以是10.
<img src="http://img.blog.csdn.net/20160510143747413?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
当引入虚基类的时候,问题则得到了解决。
相关文章推荐
- UIView学习笔记
- Python基础篇【第8篇】: Socket编程(二)SocketServer
- JFinal/国际化
- elasticsearch高级配置之分片分布规则设置
- Digital Pre-Distortion (数字预失真)以及用途
- shell if语句
- android onActivityResult()接收返回数据为null的解决方案
- javascript中attribute和property的区别详解
- 项目5-摩托车继承自行车和机动车
- windows下MySQL 5.7+ 解压缩版安装配置方法
- grunt concat针对有依赖文件的js脚本的合并
- 控制Elasticsearch分片和副本的分配
- myeclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
- Solr5.5+tomcat8.0+zookeeper3.4集群搭建
- Python实现欧拉计划22题
- stdole.dll文件签名证书过期
- (OK) Fedora 23——CORE——docker——(8)——> problems
- d3.js——饼状图的拖拽
- 【S2HS学习笔记】第一章节:Java EE应用和开发环境
- 一致性hash的由来和原理