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")
- 定义一个函数 vehicle()
- 定义一个新的 FourWheeler 类,继承自 Vehicle 类。
- 定义一个函数 fourWheeler()
- print("I have four wheels")
- 定义一个函数 fourWheeler()
- 定义一个新的 Car 类,继承自 FourWheeler 类。
- 定义一个函数 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP