有关c++中继承和派生的问题
我是初学者,用的教材是《21天学通c++》。
感觉书里有关继承和派生和多重继承的问题有点搞不明白。
举个例子:
马(Horse类)是哺乳动物(Mammal类)的一种,因此两者之间有一个继承关系。Horse类可以继承使用Mammal类里的功能函数。
而所谓派生的定义是指向已有的类添加新功能的类,也就是说派生类可以在自己的类中除了继承基类的功能函数外,可以有自己另外的功能函数。
在多重继承里,假设Mammal类里包含鸟类(Bird类)和马类(Horse类),我现在要创建一个新类:飞马(Pegasus类),它要有马的跑的功能函数(Gallop())和鸟的功能函数(Fly())。我们使用多重继承,声明Pegasus类是由Bird类和Horse类继承而来就可以了。
但是,根据派生的定义,派生类是指向已有的类添加新功能的类,那么我们直接指定Pegasus类是Horse类,并派生出Fly()就可以了,何必要使用多重继承呢?
多重继承是不是多余的呢?