C ++中的多级继承和多级继承有什么区别?


回答 1:

C ++中的多重继承使用许多不同的对象作为对象的构建块。就像将枪类和刀类组合在一起以创建枪刀类一样。多级继承是一个对象,它也从其基类的基类继承属性。例如,一个物种如何从其属继承财产,直至其王国。


回答 2:

这非常简单。

在多重继承中,单个类是从多个基类派生的。

在多级继承中,一个类是从基类派生的,而基类本身又是从另一个基类派生的。

多重继承:

类Base1 {...};
类Base2 {...};
派生的类:public Base1,Base2 {...};

多级继承:

类Base {...};
class Derived1:public Base {...};
class Derived2:public Derived1 {...};

如果类实现多个接口,则可以使用多重继承:

//接口:
class DrawingSurface {/ *接口描述* /};
class Shreddable {/ *接口描述* /};

//这些仅实现一个接口:
Whiteboard类:public DrawingSurface {...};
胡萝卜类:可切碎的公共{...};

//这个实现两种:
Paper类:public DrawingSurface,可切碎的{...};

您可以使用多级继承来表示类的进一步专业化:

类Animal {...};

//猫科动物是动物。
类Feline:公共动物{...};

//这些是猫科动物,在传递上也是动物:
HouseCat类:公共猫科动物{...};
老虎类:公共猫科动物{...};
类Lion:公共猫科动物{...};

回答 3:

这非常简单。

在多重继承中,单个类是从多个基类派生的。

在多级继承中,一个类是从基类派生的,而基类本身又是从另一个基类派生的。

多重继承:

类Base1 {...};
类Base2 {...};
派生的类:public Base1,Base2 {...};

多级继承:

类Base {...};
class Derived1:public Base {...};
class Derived2:public Derived1 {...};

如果类实现多个接口,则可以使用多重继承:

//接口:
class DrawingSurface {/ *接口描述* /};
class Shreddable {/ *接口描述* /};

//这些仅实现一个接口:
Whiteboard类:public DrawingSurface {...};
胡萝卜类:可切碎的公共{...};

//这个实现两种:
Paper类:public DrawingSurface,可切碎的{...};

您可以使用多级继承来表示类的进一步专业化:

类Animal {...};

//猫科动物是动物。
类Feline:公共动物{...};

//这些是猫科动物,在传递上也是动物:
HouseCat类:公共猫科动物{...};
老虎类:公共猫科动物{...};
类Lion:公共猫科动物{...};