Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để chứng minh tính kế thừa đa cấp

Giả sử chúng ta có ba lớp Vehicle, FourWheeler và Car. Lớp Xe là lớp cơ sở, Lớp FourWheeler có nguồn gốc từ nó và Lớp Xe có nguồn gốc từ Lớp FourWheeler. Class Vehicle có phương thức 'xe' in 'Tôi là một chiếc xe', Class FourWheeler có phương thức 'FourWheeler' in 'Tôi có bốn bánh xe' và class Car có phương thức 'xe hơi' in 'Tôi là xe hơi '. Vì vậy, vì đây là thừa kế đa cấp; chúng ta có thể có quyền truy cập vào tất cả các phương thức của lớp khác từ đối tượng của lớp Car. Chúng tôi gọi tất cả các phương thức từ một đối tượng Xe và in kết quả đầu ra tương ứng của các phương thức.

Vì vậy, nếu chúng ta gọi các phương thức theo thứ tự này, car (), fourWheeler () và xe (), thì đầu ra sẽ là -

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

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Xác định một Phương tiện hạng mới.
    • Xác định một phương tiện chức năng ()
      • print ("Tôi là một chiếc xe")
  • Xác định một lớp FourWheeler mới kế thừa từ lớp Xe.
    • Định nghĩa một hàm fourWheeler ()
      • print ("Tôi có bốn bánh xe")
  • Xác định một lớp mới Xe kế thừa từ lớp FourWheeler.
    • Định nghĩa một hàm ô tô ()
      • print ("Tôi là một chiếc ô tô")

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#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;
}

Đầu vào

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

Đầu ra

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