การสืบทอดหลายรายการเกิดขึ้นเมื่อคลาสสืบทอดจากคลาสฐานมากกว่าหนึ่งคลาส ดังนั้นคลาสจึงสามารถสืบทอดคุณสมบัติจากคลาสพื้นฐานหลายคลาสโดยใช้การสืบทอดหลายรายการ นี่เป็นคุณสมบัติที่สำคัญของภาษาการเขียนโปรแกรมเชิงวัตถุ เช่น C++
แผนภาพที่แสดงการสืบทอดหลายรายการได้รับด้านล่าง -

โปรแกรมที่จะใช้การสืบทอดหลายรายการใน 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() จะมีการกำหนดวัตถุ obj ของคลาส C ตัวสร้างของคลาส 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;