Giả sử chúng ta có ba lớp: Vehicle, FourWheeler, và Car. Vehicle là lớp cơ sở, FourWheeler kế thừa từ Vehicle, Car kế thừa từ FourWheeler. Vehicle có phương thức vehicle() in "I am a vehicle", FourWheeler có fourWheeler() in "I have four wheels", Car có car() in "I am a car". Do đây là kế thừa đa cấp, đối tượng Car có thể truy cập tất cả phương thức. Gọi các phương thức theo thứ tự car(), fourWheeler(), vehicle().
Kết quả: "I am a car I have four wheels I am a vehicle"
Giải thuật
- Định nghĩa lớp Vehicle với phương thức vehicle()
- Định nghĩa lớp FourWheeler kế thừa public Vehicle với phương thức fourWheeler()
- Định nghĩa lớp Car kế thừa public FourWheeler với phương thức car()
- Tạo đối tượng Car và gọi ba phương thức
Ví dụ minh họa
#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;
}
Đầu vào
Car obj; obj.car(); obj.fourWheeler(); obj.vehicle();
Đầu ra
I am a car I have four wheels I am a vehicle