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