C++ 混合继承

2025年8月29日 | 3 分钟阅读

继承被定义为一个类继承另一个类的属性的过程。其属性被继承的类称为基类或该类的父类。继承基类(父类)属性的类是派生类。

例如,儿子继承父亲的财产。本文将为您简要介绍混合继承及其示例。

Hybrid inheritance in C++

定义

将多种继承类型(如多重继承、单一继承和层次继承)结合起来,称为混合继承。

在单一继承中,一个类派生自一个单一的基类。在多重继承中,一个类派生自两个类,其中一个父类本身也是一个派生类。在层次继承中,从一个基类创建多个派生类。

在混合继承中,存在一种或多种继承类型的组合。例如,单一继承和层次继承的组合。因此,混合继承也称为多路径继承。

示例

Hybrid inheritance in C++

该图显示了混合继承,它是单一继承和多重继承的组合。

单一继承 - B 类继承 A 类。因此是单一继承的一个例子。

多重继承 - D 类继承自多个类(如上图 D 上方的 B 和 C)。因此是多重继承的一个例子。

上述示例的语法代码


Hybrid inheritance in C++

此示例显示了多级继承和单一继承的组合。

多级继承 - 从上图可以看出,B 类继承 A 类,C 类继承 B 类。因此,这是多级继承的一个例子。

单一继承 - 从上图可以看出,D 类继承 B 类。因此,这是单一继承的一个例子。

上述示例的语法代码

混合继承的一个现实生活中的例子

Hybrid inheritance in C++

在现实世界中,我们都开车。因此,汽车 (Car) 是一个类,它属于车辆 (vehicle) 类。这是一个单一继承的实例。

如果我们谈论法拉利 (Ferrari),它是赛车和普通汽车的结合体。因此,法拉利类 (class Ferrari) 派生自汽车类 (class Car)赛车类 (Class Racing)

因此,上述示例是单一继承和多重继承。这是混合继承(单一+多重)的一个完美例子。

编码

输出

This is a vehicle
This is a car
This is for Racing
Ferrari is a Racing Car    

下一个主题C++ 聚合