C++ 中的多重继承


多重继承是指一个类继承自多个基类。因此,该类可以使用多重继承从多个基类继承特性。这是面向对象编程语言(例如 C++)的一个重要特性。

下图演示了多重继承 −

Multiple Inheritance

以下给出了在 C++ 中实现多重继承的程序 −

示例

 实时演示

#include <iostream>
using namespace std;

class A {
   public:
   int a = 5;
   A() {
      cout << "Constructor for class A" << endl;
   }
};
class B {
   public:
   int b = 10;
   B() {
      cout << "Constructor for class B" << endl;
   }
};
class C: public A, public B {
   public:
   int c = 20;
   C() {
      cout << "Constructor for class C" << endl;
      cout<<"Class C inherits from class A and class B" << endl;
   }
};
int main() {
   C obj;
   cout<<"a = "<< obj.a <<endl;
   cout<<"b = "<< obj.b <<endl;
   cout<<"c = "<< obj.c <<endl;
   return 0;
}

输出

上面程序的输出如下 −

Constructor for class A
Constructor for class B
Constructor for class C
Class C inherits from class A and class B
a = 5
b = 10
c = 20

在上面的程序中,定义了类 A 和 B。如下所示 −

class A {
   public:
   int a = 5;
   A() {
      cout << "Constructor for class A" << endl;
   }
};
class B {
   public:
   int b = 10;
   B() {
      cout << "Constructor for class B" < endl;
   }
};

类 C 从类 A 和 B 继承。这是多重继承的一个示例。类 C 的定义如下所示 −

class C: public A, public B {
   public:
   int c = 20;
   C() {
      cout << "Constructor for class C" << endl;
      cout<<"Class C inherits from class A and class B" << endl;
   }
};

在 main() 函数中,定义了类 C 的一个对象 obj。自动调用类 A、B 和 C 的构造函数并显示它们的内容。然后打印 a、b 和 c 的值。它们分别是类 A、B 和 C 的数据成员。此代码段如下所示 −

C obj;
cout<<"a = "<< obj.a <<endl;
cout<<"b = "<< obj.b <<endl;
cout<<"c = "<< obj.c <<endl;

更新时间:25-6 月 2020 年

5 千次浏览

开始你的 职业生涯

完成课程获得认证

开始
广告