मल्टीपल इनहेरिटेंस तब होता है जब कोई क्लास एक से अधिक बेस क्लास से इनहेरिट करती है। इसलिए क्लास मल्टीपल इनहेरिटेंस का उपयोग करके कई बेस क्लासेज से सुविधाएं इनहेरिट कर सकती है। यह C++ जैसी ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं की एक महत्वपूर्ण विशेषता है।
मल्टीपल इनहेरिटेंस को प्रदर्शित करने वाला एक डायग्राम नीचे दिया गया है:

उदाहरण
#include <iostream>
using namespace std;
class A {
public:
int a = 5;
A() {
cout << "क्लास A के लिए कंस्ट्रक्टर" << endl;
}
};
class B {
public:
int b = 10;
B() {
cout << "क्लास B के लिए कंस्ट्रक्टर" << endl;
}
};
class C: public A, public B {
public:
int c = 20;
C() {
cout << "क्लास C के लिए कंस्ट्रक्टर" << endl;
cout << "क्लास C, क्लास A और क्लास B से इनहेरिट करती है" << endl;
}
};
int main() {
C obj;
cout << "a = " << obj.a << endl;
cout << "b = " << obj.b << endl;
cout << "c = " << obj.c << endl;
return 0;
}
आउटपुट
क्लास A के लिए कंस्ट्रक्टर क्लास B के लिए कंस्ट्रक्टर क्लास C के लिए कंस्ट्रक्टर क्लास C, क्लास A और क्लास B से इनहेरिट करती है a = 5 b = 10 c = 20
उपरोक्त प्रोग्राम में, क्लासेस A और B परिभाषित हैं। क्लास C दोनों क्लासेस A और B से इनहेरिट करती है। यह मल्टीपल इनहेरिटेंस का एक उदाहरण है।
main() फ़ंक्शन में, क्लास C का एक ऑब्जेक्ट obj परिभाषित है। क्लास A, B और C के कंस्ट्रक्टर्स स्वचालित रूप से कॉल होते हैं और उनकी सामग्री प्रदर्शित होती है। फिर a, b और c के मान प्रिंट किए जाते हैं। ये क्लासेस A, B और C के डेटा मेंबर्स हैं।