C++ 程序演示多级继承

c++server side programmingprogramming

假设我们有三个类 Vehicle、FourWheeler 和 Car。Vehicle 类是基类,FourWheeler 类派生自基类,而 Car 类派生自 FourWheeler 类。Vehicle 类有一个方法 'vehicle',可打印 'I am a vehicle',FourWheeler 类有一个方法 'fourWheeler',可打印 'I have four wheels',而 Car 类有一个方法 'car',可打印 'I am a car'。因此,由于这是一个多级继承,我们可以从 Car 类的对象访问所有其他类的方法。我们从 Car 对象调用所有方法并打印方法的相应输出。

因此,如果我们按此顺序调用方法,car()、fourWheeler() 和 vehicle(),则输出将为 −

我是一辆汽车
我有四个轮子
我是一辆车

为了解决这个问题,我们将遵循以下步骤 −

  • 定义一个新的类 Vehicle。
    • 定义一个函数 vehicle()
      • print("I am a vehicle")
  • 定义一个继承自 Vehicle 类的新类 FourWheeler。
    • 定义一个函数 fourWheeler()
      • print("I have four wheels")
  • 定义一个继承自 FourWheeler 类的新类 Car。
    • 定义一个函数 car()
      • print("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

相关文章