2002年,河北省的一位造车高手奇思妙想设计出了一辆水陆两用型的小跑车。这辆车既可以在公路上奔驰,也可以在水波中荡漾,它同时具有车和船的特性。(如图17.10.1)
如果我们用继承的概念来分析水陆两用车,那么它的确是存在继承关系的。与一般的继承不同的是,水陆两用车的父类会有两个:一个是车,一个是船。(如下图17.10.2)
长、宽、高等属性,要搞清水陆两用车的长、宽、高到底是从哪个类继承来的,着实要花费一些功夫。应该说,C++中多重继承的思想是优秀的,但是它的实现却是混乱的。有不少人都认为多重继承是C++的一个败笔,它把原本简单的单一继承复杂化了,使程序员很难再把思路理清。所以,即使是经验丰富的程序员,在大多数情况下也不会去使用多重继承。在此,我们只要能够理解多重继承的概念即可,不必去掌握它的具体实现。有兴趣的读者也可以到网上查找相关的资料。