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 千次瀏覽

開始你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.