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

C++-এ মাল্টি-লেভেল ইনহেরিটেন্স প্রদর্শনের প্রোগ্রাম


ধরা যাক তিনটি ক্লাস আছে: Vehicle, FourWheeler, এবং Car। Vehicle বেস ক্লাস, FourWheeler Vehicle থেকে ডেরাইভ্ড, এবং Car FourWheeler থেকে ডেরাইভ্ড। Vehicle-এ vehicle() মেথড আছে যা "I am a vehicle" প্রিন্ট করে। FourWheeler-এ fourWheeler() মেথড আছে যা "I have four wheels" প্রিন্ট করে। Car-এ car() মেথড আছে যা "I am a car" প্রিন্ট করে। মাল্টি-লেভেল ইনহেরিটেন্সের কারণে Car অবজেক্ট দিয়ে সব মেথড অ্যাক্সেস করা যায়।

যদি car(), fourWheeler(), vehicle() এই ক্রমে কল করা হয়, তবে আউটপুট হবে:

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

সমাধানের ধাপসমূহ

  • Vehicle ক্লাস সংজ্ঞায়িত করুন যাতে public vehicle() মেথড থাকে
  • FourWheeler ক্লাস Vehicle থেকে public ইনহেরিট করুন যাতে public fourWheeler() মেথড থাকে
  • Car ক্লাস FourWheeler থেকে public ইনহেরিট করুন যাতে public car() মেথড থাকে
  • main-এ Car অবজেক্ট তৈরি করে তিনটি মেথড কল করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

#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++-এ স্ট্রাকচার vs ক্লাস (Structure vs class in C++)

  2. C++-এ private, public, protected ইনহেরিট্যান্স পার্থক্য

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

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