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