设为首页 加入收藏

TOP

挑战30天C++入门极限:c++类的多重继承与虚拟继承
2014-11-19 01:47:02 】 浏览:576
Tags:挑战 入门 极限 多重 继承 虚拟



   上面的代码从表面看,看不出有明显的语发错误,但是它是不能够通过编译的。这有是为什么呢?
   这是由于多重继承带来的继承的模糊性带来的问题。


先看如下的图示:



   在图中深红色标记出来的地方正是主要问题所在,水陆两用汽车类继承了来自Car类与Boat类的属性与方法,Car类与Boat类同为AmphibianCar类的基类,在内存分配上AmphibianCar获得了来自两个类的SetWeight()成员函数,当我们调用a.SetWeight(3)的时候计算机不知道如何选择分别属于两个基类的被重复拥有了的类成员函数SetWeight()。
   由于这种模糊问题的存在同样也导致了AmphibianCar a(4,200,1.35f);执行失败,系统会产生Vehicle”不是基或成员的错误。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇二级C++精品课程第一章第四节Visu.. 下一篇挑战30天C++入门极限:C++中的运..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目