মাল্টিপল ইনহেরিট্যান্স ঘটে যখন একটি ক্লাস একাধিক বেস ক্লাস থেকে ইনহেরিট করে। তাই ক্লাসটি মাল্টিপল ইনহেরিট্যান্স ব্যবহার করে একাধিক বেস ক্লাস থেকে ফিচার ইনহেরিট করতে পারে। এটি 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() ফাংশনে, ক্লাস 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;