কম্পিউটার টিউটোরিয়াল

C++-এ মাল্টিপল ইনহেরিট্যান্স


মাল্টিপল ইনহেরিট্যান্স ঘটে যখন একটি ক্লাস একাধিক বেস ক্লাস থেকে ইনহেরিট করে। তাই ক্লাসটি মাল্টিপল ইনহেরিট্যান্স ব্যবহার করে একাধিক বেস ক্লাস থেকে ফিচার ইনহেরিট করতে পারে। এটি C++-এর মতো অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষার একটি গুরুত্বপূর্ণ ফিচার।

মাল্টিপল ইনহেরিট্যান্স ডেমোনস্ট্রেট করার একটি ডায়াগ্রাম নিচে দেওয়া হলো:

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;

  1. C++-এ স্ট্রাকচার vs ক্লাস (Structure vs class in C++)

  2. C++-এ নেস্টেড ক্লাস

  3. C++-এ লোকাল ক্লাস

  4. C#-এ ইনহেরিটেন্স কী?