什么是 C++ 中的混合继承? 它是带有示例的类型

已发表: 2021-05-27

我们经常在编程上下文中使用术语“继承”。 这是在编程中实践的一个功能,可以最好地重用代码。 如果您回想 OOP(面向对象编程)中的“IS-A”概念,您会发现它基于继承特性。 继承的实现将帮助您获得 C++ 中的高级项目理念

目录

什么是继承?

在继承过程中,一个类的对象获取另一个类的属性和行为。 这里从现有的基类派生了一个新类。 派生的成员类通常称为子类和父类的基类成员。 子类派生后,继承父类的所有属性和方法。

此外,子类可以具有其专用的专用属性和方法。 本地添加到现有类的附加功能不会影响它从父类继承的属性。 因此,新类将具有两个类的组合特征。

C++ 中的继承

通常,实际上,程序员需要开发一个必须:
1) 拥有其父母的所有品质,此外,
2)在某些方面,坚持是特别的。

在主类中编码这些特殊属性可能不一定是实用和经济的。 在这种情况下,通过扩展基类派生一个新类。 此外,它是从另一个具有附加品质的类中派生出来的。 通过这种方式,您可以重用、扩展或修改在其他类中定义的属性和行为。 因此,从多个类派生的子类提供了一个易于维护和移植的对象。 派生类是基类的专用类。

从技术上讲,关键字“extends”用于继承一个类。 C++ 使用冒号(“ : ”)符号从类继承。

继承类型

继承和实现的组合的使用在派生类的目的上有所不同。 C++ 中有不同类型的继承可用,如下所示:

  • 单一继承是派生类从单个基类继承属性和行为的地方。 示例:A 类 → B 类。
  • 分层继承是从单个基类创建多个派生类的地方。 示例:A 类 → B 类 → C 类。
  • 多重继承用于从多个基类派生一个类。 在这里,程序员创建的子对象将具有来自多个父类的特征和特性的组合方面。 这些对象确实遵循它们的基类层次结构。
  • 多级继承是子类从另一个派生类派生的地方。 此功能包含多个类的组合方面并遵循它们的层次结构。
  • 混合继承是使用多重继承的异构特性。 在这里,子类派生自一个或多个单级、分层和多级继承的组合。 这种继承用于程序混合不同类型的继承; 例如,当混合单一继承和多重继承时,或者在一个程序中混合多重继承的情况。

简单示例

这里 B 类和 C 类都派生自基类 A 类。

Cars 的层次分类显示了两个类别。 “Petrol Cars”和“Electric Cars”都源自基类“Cars”。

C++中的混合继承

在某些情况下,我们需要结合使用两种或多种类型的继承来设计程序。 当一个程序涉及不止一种类型的继承时,它被称为混合继承。

混合继承是简单继承、多重继承和层次继承的结合。 通常,在多重继承中,一个类派生自两个类,其中一个父类也是派生类而不是基类。

C++中的混合继承是一种继承,其中一个类派生自一种以上的形式或任何继承的组合。 C++中混合继承也称为多路径继承,其中一个派生类可以在不同路径中继承基类的属性。 有时也称为多路径继承。 例如,它可以通过结合多级和分层继承来实现。

简而言之,混合继承是两种或多种继承类型的组合。 例如,通过在同一个程序中实现单级和多级继承。

混合继承框图

该图表示两种继承的混合组合; 单继承和多继承。 在这里,在单继承中,类B派生自类A 同样,在多重继承中, D是从多个类继承而来的。 这里B类和C因此,单继承和多继承的混合形成了混合继承。

混合继承适用于我们需要在一个程序中应用多个继承的场景。

C++中混合继承的语法

C++中混合继承的典型语法和语义如下所示:

C++ 中的混合继承示例

示例 1:单继承 + 多继承

让我们看看如何实现单继承和多继承。

该图中的每个块代表一个类,对应的箭头代表一个类的继承。

示例 2:单级 + 多级继承

我们还可以实现其他类型的继承来构成混合继承。

让我们考虑一个实时示例

我们从 Vehicle 类派生了一个汽车子类。 另一类是赛车的特征。 当我们从 Car 类和 Racing 类派生最终实体时,它将给出组合输出。 这个衍生品就是法拉利——赛车。

这是一个简单的程序来说明C++ 中混合继承的概念

示例代码

输出

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

希望本文能帮助您理解C++ 中混合继承的概念和类型 计算机和计算相关课程的学生可以提高他们的技能和技术可信度,例如 OOP 概念。 upGrad提供资源和知识库,以鼓励这些专业人员在编程方面具有专业知识并在行业市场中竞争。 在 upGrad,您还有机会探索专业网络和技能发展。

我们希望您在执行这些 C++ 项目时有一个很好的学习机会。 如果您有兴趣了解更多信息并需要行业专家的指导,请查看 upGrad & IIIT Banglore 的全栈软件开发执行 PG 计划

什么是面向对象编程中的继承?

继承是一种重用代码的机制,它有助于模拟现实世界。 它扩展了 OOP 中数据抽象的概念。 它是一个类获取另一个类的属性的过程。 OOP 的基本原则是一个类只能根据另一个类来定义。 这是因为抽象的概念。 继承是一种使新对象类与其他对象处于同一类层次结构中的机制。 继承的主要好处是代码重用。 这是一种重用代码的方式。 如果你有一个类并且它完成了一项特定的工作,你也可以将它用于另一项工作。 只是说,汽车和卡车做同样的工作,所以你可以使用相同的代码来驾驶它们。

C ++中的3个继承范围是什么?

C++ 中的继承范围是私有的、受保护的和公共的。 私有继承是一个类从另一个类继承,但派生类不能在该类之外访问。 这些类型的继承只能在基类不打算在类外部访问时使用。 当基类不打算在类外访问而打算在类外访问时,使用受保护的继承。 当基类要在类外部访问时,使用公共继承。

什么是 C++ 中的多重继承?

多重继承是从多个类派生一个类的能力。 此功能在 C 中不可用。这是支持面向对象编程的 C++ 最重要的功能之一。 C++中多重继承的实现是基于继承类的概念。 多重继承是一种支持面向对象编程模型的机制,可以用来解决一些问题,例如行为重用和代码重用。 代码重用一直是 C++ 中的一个问题,因为 C++ 只支持单继承。 多重继承是通过将多个接口组合成一个对象来实现的。