Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ สาธิตการสืบทอดหลายระดับ (Multi-level Inheritance)


สมมติว่าเรามี 3 คลาสคือ 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' เนื่องจากเป็น multi-level inheritance เราจึงเข้าถึงเมธอดของคลาสบรรพบุรุษทั้งหมดจากออบเจกต์ Car เราเรียกเมธอดทั้งหมดและพิมพ์ผลลัพธ์

หากเรียกเมธอดตามลำดับ car(), fourWheeler(), vehicle() ผลลัพธ์จะเป็น:

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

ขั้นตอนการแก้ปัญหา

  • สร้างคลาส Vehicle:
    • เมธอด vehicle() พิมพ์ "I am a vehicle"
  • สร้างคลาส FourWheeler สืบทอดจาก Vehicle:
    • เมธอด fourWheeler() พิมพ์ "I have four wheels"
  • สร้างคลาส Car สืบทอดจาก FourWheeler:
    • เมธอด car() พิมพ์ "I am a 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