কম্পিউটার

বহু-স্তরের উত্তরাধিকার প্রদর্শনের জন্য C++ প্রোগ্রাম


ধরুন আমাদের তিনটি শ্রেণির যানবাহন, ফোর হুইলার এবং গাড়ি রয়েছে। ক্লাস ভেহিকেল হল বেস ক্লাস, ক্লাস ফোর হুইলার এটি থেকে এবং ক্লাস কার ক্লাস ফোর হুইলার থেকে উদ্ভূত হয়েছে। ক্লাস ভেহিকেলের একটি পদ্ধতি রয়েছে 'গাড়ি' যা প্রিন্ট করে 'আমি একটি যান', ক্লাস ফোর হুইলারের একটি পদ্ধতি রয়েছে 'ফোর হুইলার' যা প্রিন্ট করে 'আমার চার চাকা আছে', এবং ক্লাস কারের একটি পদ্ধতি রয়েছে 'কার' যা প্রিন্ট করে 'আমি একটি গাড়ি' ' সুতরাং, যেহেতু এটি একটি বহু-স্তরের উত্তরাধিকার; আমরা ক্লাস কার অবজেক্ট থেকে অন্যান্য সমস্ত ক্লাস পদ্ধতিতে অ্যাক্সেস পেতে পারি। আমরা একটি কার অবজেক্ট থেকে সমস্ত পদ্ধতি ব্যবহার করি এবং পদ্ধতিগুলির সংশ্লিষ্ট আউটপুটগুলি প্রিন্ট করি৷

সুতরাং, যদি আমরা এই ক্রমে পদ্ধতিগুলিকে ব্যবহার করি, car(), ফোর হুইলার(), এবং গাড়ি(), তাহলে আউটপুট হবে −

I am a car
I have four wheels
I am a vehicle

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি নতুন শ্রেণীর যানবাহন সংজ্ঞায়িত করুন।
    • একটি ফাংশন বাহন ()
        সংজ্ঞায়িত করুন
      • প্রিন্ট ("আমি একটি যানবাহন")
  • শ্রেণীর যানবাহন থেকে উত্তরাধিকারসূত্রে পাওয়া একটি নতুন ক্লাস ফোর হুইলার সংজ্ঞায়িত করুন৷
    • একটি ফাংশন ফোর হুইলার()
        সংজ্ঞায়িত করুন
      • প্রিন্ট ("আমার চারটি চাকা আছে")
  • ফোর হুইলার ক্লাস থেকে উত্তরাধিকারসূত্রে পাওয়া একটি নতুন শ্রেণীর গাড়ি সংজ্ঞায়িত করুন৷
    • একটি ফাংশন কার ()
        সংজ্ঞায়িত করুন
      • প্রিন্ট ("আমি একটি গাড়ি")

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <iostream>
using namespace std;

class Vehicle{
   public:
      void vehicle(){
         cout<<"I am a vehicle\n";
      }
};

class FourWheeler : public Vehicle{
   public:
      void fourWheeler(){
         cout<<"I have four wheels\n";
      }
};

class Car : public FourWheeler{
   public:
      void car(){
         cout<<"I am a car\n";
      }
};
int main(){
   Car obj;
   obj.car();
   obj.fourWheeler();
   obj.vehicle();
   return 0;
}

ইনপুট

Car obj;
obj.car();
obj.fourWheeler();
obj.vehicle();

আউটপুট

I am a car
I have four wheels
I am a vehicle

  1. C++ এ স্ট্রাকচার বনাম ক্লাস

  2. C++ এ ব্যক্তিগত, সর্বজনীন এবং সুরক্ষিত উত্তরাধিকারের মধ্যে পার্থক্য

  3. C++ এ একাধিক উত্তরাধিকার

  4. C++ এ স্থানীয় ক্লাস