C++ 多重继承2025年8月29日 | 阅读 7 分钟 本节将讨论 C++ 编程语言中的多重继承。当我们将一个类的特性和功能获取到另一个类时,这个过程称为继承。通过这种方式,我们可以使用派生类对象重用、扩展或修改父类的所有属性和行为。这是面向对象编程中最重要的特性,可以减少程序的长度。 从另一个类或父类继承所有成员函数和功能的类称为派生类。而派生类从中获取某些特性的类称为基类或父类。 ![]() 多重继承是 C++ 中继承的一个概念,它允许一个子类从多个基类继承属性或行为。因此,我们可以说,它是一个使派生类能够从多个基类获取成员函数、属性和特征的过程。 多重继承示意图以下是C++ 编程语言中多重继承的示意图。 ![]() 在上图中,有两个父类:基类1和基类2,而只有一个子类。子类从基类1和基类2中获取了所有特性。因此,我们将这种继承类型称为多重继承。 多重继承的语法在上面的语法中,类 A 和类 B 是两个基类,而类 C 是子类,它继承了父类的一些特性。 让我们编写各种多重继承的程序,以使用派生类从多个基类继承成员函数和功能。 示例1:使用多重继承的程序Program1.cpp 输出 It is the first function of the Base class It is the second function of the Base class It is the function of the derived class 在上面的程序中,我们创建了两个基类和一个子类。child_class 借助其对象 ch,从父类 Base_class 和 Base_class2 中调用了成员函数 display() 和 display2()。 示例2:使用多重继承执行算术运算让我们在 C++ 编程中创建一个派生类,以从多个基类继承成员函数。 Program2.cpp 输出 The Modulus of 12 and 5 is 2 The sum of 20 and 30 is 50 The Multiplication of 20 and 30 is 600 The Division of 150 and 30 is 5 The Subtraction of 50 and 30 is 20 示例3:使用多重继承计算六门科目的平均分让我们在 C++ 编程语言中创建另一个程序,使用多重继承来打印六门科目的平均分。 Program3.cpp 输出 Enter the Roll No: 25 Enter the marks of five subjects 90 85 98 80 75 Enter the sports mark: 99 Roll No: 25 Total: 527 Average Marks: 87 多重继承中的二义性问题在多重继承中,当一个类从两个或多个基类或父类派生时,可能会出现两个父类拥有同名成员函数的情况。当子类对象调用其中一个同名成员函数时,就会出现二义性。因此,我们可以说,C++ 编译器在选择执行程序的类成员函数时会感到困惑。 演示多重继承中二义性问题的程序让我们在 C++ 编程中编写一个简单的程序,通过派生类调用父类的同名成员函数。 Program4.cpp 当编译上述程序时,它会抛出错误,指出成员函数 show() 具有二义性。因为基类 A 和 B 都定义了同名的成员函数 show(),当派生类的对象调用 shows() 函数时,在多重继承中就会出现二义性。 因此,我们需要解决多重继承中的二义性问题。可以通过定义类名和作用域解析(::)运算符来解决二义性问题,以指定在子类中调用成员函数时,该函数来自哪个类。 二义性解决方案的语法 例如: 做了一些修改后,我们再次执行上述程序,它将返回下面给出的输出。 下一主题C++ 中的层次继承 |
继承的概念与现实世界非常相似。就像儿子继承父亲的属性(特征和行为)一样,父亲本身也继承儿子祖父的属性。在编程规范中,当一个类继承属性时,就会发生继承...
阅读 2 分钟
一个类从父类继承属性和特性的能力被称为继承。继承是 C++ 中面向对象编程的关键特性之一。继承可以根据派生类之间的关系进行分类...
7 分钟阅读
在 C++ 中,继承是一个对象自动继承其父对象所有属性和行为的过程。它允许我们重用、扩展或修改在其他类中定义的属性和行为。在 C++ 中,继承的类...
阅读 15 分钟
在 C++ 中,单一继承是面向对象编程 (OOPs) 的一个重要概念,它允许派生类继承另一个基类的属性和行为。在 C++ 中,一个类为了重用而继承其属性和行为的类称为超类(基类)。...
阅读 6 分钟
在 C++ 中,聚合是其中一个类将另一个类定义为任何实体引用的过程。它是重用类的另一种方式。它是一种关联形式,表示“拥有一个”关系。我们使用聚合的概念来表示“拥有一个”...
阅读 4 分钟
继承被定义为一个类继承另一个类属性的过程。继承其属性的类称为基类或该类的父类。继承基类(父类)属性的类是...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India