ঘোষনাঃ
সম্মানীত সদস্যবৃন্দ, আপনাদের অবগতির জন্য জানানো যাচ্ছে যে, এআই ব্যবহার করে প্রশ্নের উত্তর দেওয়ার কারণে সাইটের র‌্যাংক কমে গেছে। তাই এআই উত্তর আর অনুমোদন দেওয়া হবে না।
61 বার দেখা হয়েছে
"সি++" বিভাগে করেছেন

1 টি উত্তর

0 জনের পছন্দ 0 জনের অপছন্দ
করেছেন

Multiple inheritance হলো একটি বৈশিষ্ট্য যা C++-এ একটি ক্লাসকে একাধিক বেস ক্লাস থেকে প্রোপার্টি এবং আচরণ গ্রহণ করার সুযোগ দেয়। এর মাধ্যমে একটি ডেরাইভড ক্লাস একাধিক বেস ক্লাসের সদস্য অ্যাক্সেস করতে পারে।

উদাহরণ:

    class Animal {
    public:
        void eat() {
            cout << "Animal is eating" << endl;
        }
    };

    class Bird {
    public:
        void fly() {
            cout << "Bird is flying" << endl;
        }
    };

    class Sparrow : public Animal, public Bird {
    public:
        void sound() {
            cout << "Sparrow is chirping" << endl;
        }
    };

    int main() {
        Sparrow s;
        s.eat();   // Animal থেকে ইনহেরিট করা
        s.fly();   // Bird থেকে ইনহেরিট করা
        s.sound(); // নিজস্ব ফাংশন
        return 0;
    }
  </pre>

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

  
    class A {
    public:
        void show() {
            cout << "Class A" << endl;
        }
    };

    class B : public A {
    public:
        void show() {
            cout << "Class B" << endl;
        }
    };

    class C : public A {
    public:
        void show() {
            cout << "Class C" << endl;
        }
    };

    class D : public B, public C {
    public:
        void show() {
            cout << "Class D" << endl;
        }
    };

    int main() {
        D obj;
        obj.show();  // কোন show() ফাংশন কল হবে?
        return 0;
    }
  </pre>

  ডায়মন্ড প্রোবলেম সমাধানে ভার্চুয়াল ইনহেরিটেন্স:
  
    class A {
    public:
        void show() {
            cout << "Class A" << endl;
        }
    };

    class B : virtual public A {
    public:
        void show() {
            cout << "Class B" << endl;
        }
    };

    class C : virtual public A {
    public:
        void show() {
            cout << "Class C" << endl;
        }
    };

    class D : public B, public C {
    public:
        void show() {
            cout << "Class D" << endl;
        }
    };

    int main() {
        D obj;
        obj.show();  // Class D কল হবে
        return 0;
    }
  </pre>

এরকম আরও কিছু প্রশ্ন

1 টি উত্তর

36,000 টি প্রশ্ন

35,265 টি উত্তর

1,738 টি মন্তব্য

3,753 জন সদস্য

Ask Answers সাইটে আপনাকে সুস্বাগতম! এখানে আপনি প্রশ্ন করতে পারবেন এবং অন্যদের প্রশ্নে উত্তর প্রদান করতে পারবেন ৷ আর অনলাইনে বিভিন্ন সমস্যার সমাধানের জন্য উন্মুক্ত তথ্যভাণ্ডার গড়ে তোলার কাজে অবদান রাখতে পারবেন ৷
5 জন অনলাইনে আছেন
0 জন সদস্য, 5 জন অতিথি
আজকে ভিজিট : 2896
গতকাল ভিজিট : 17493
সর্বমোট ভিজিট : 51875254
এখানে প্রকাশিত সকল প্রশ্ন ও উত্তরের দায়ভার কেবল সংশ্লিষ্ট প্রশ্নকর্তা ও উত্তর দানকারীর৷ কোন প্রকার আইনি সমস্যা Ask Answers কর্তৃপক্ষ বহন করবে না৷
...