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

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 টি উত্তর

35,894 টি প্রশ্ন

35,170 টি উত্তর

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

3,735 জন সদস্য

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