读书人

三层继承的虚函数的简单有关问题

发布时间: 2013-07-09 09:50:48 作者: rapoo

三层继承的虚函数的简单问题
本帖最后由 pkmd 于 2013-06-16 23:39:20 编辑


|-- Car
|
Vehicle----|-- Bike - ChildBike
|
|-- Boat


如上所示,从Vehicle类继承下来Car、Bike、Boat等几个类。 从Bike类又派生出ChildBike类。基类Vehicle里有虚函数Draw()。

Bike类的函数Draw()画出了自行车;

ChildBike类的函数Draw()想先重用其基类Bike的Draw()函数,然后再增加几句语句画儿童自行车后轮两侧的小轮,
那么, ChildBike的函数Draw()该具体咋写?

ChildBike::Draw()
{
Bike::Draw();??

//////开始画ChildBike特有的零件/////////

****
}



[解决办法]
虚函数实现不一定和类体系的其它类有联系,你想怎么实现就怎么实现,比如,一个action虚函数,
飞机的action是在天空飞,而轮船的action是在水中行,两者可以没有任何关联,当然,如果基类提供了可以供其使用的方法,你也可以调用,这样可以减少一些代码,你将其看作是一个普通函数就可以

[解决办法]
对,就是先调用Bike::Draw(),再加特有的东西。。
[解决办法]
完全正确, 很标准的做法.

读书人网 >C++

热点推荐