C++程序演示多层继承


假设我们有三个类: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(),则输出将为 -

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

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

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

更新于: 2021年10月12日

12K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.