#include <iostream>
using namespace std;
class Vehicle {
public:
void SetSpeed(int speedToSet) {
speed = speedToSet;
}
void PrintSpeed() {
cout << speed;
}
private:
int speed;
};
class Car : public Vehicle {
public:
void PrintCarSpeed() {
cout << "Driving at: ";
PrintSpeed();
}
};
class ElectricCar : public Car {
public:
void SetBatteryLevel(int levelToSet) {
batteryLevel = levelToSet;
}
void PrintBatteryLevel() {
cout << "Battery: " << batteryLevel;
}
private:
int batteryLevel;
};
int main() {
ElectricCar myCar;
myCar.SetSpeed(50);
myCar.SetBatteryLevel(15);
myCar.PrintCarSpeed();
cout << endl;
myCar.PrintBatteryLevel();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgVmVoaWNsZSB7CiAgIHB1YmxpYzoKICAgICAgdm9pZCBTZXRTcGVlZChpbnQgc3BlZWRUb1NldCkgewogICAgICAgICBzcGVlZCA9IHNwZWVkVG9TZXQ7CiAgICAgIH0KCiAgICAgIHZvaWQgUHJpbnRTcGVlZCgpIHsKICAgICAgICAgY291dCA8PCBzcGVlZDsKICAgICAgfQoKICAgcHJpdmF0ZToKICAgICAgaW50IHNwZWVkOwp9OwoKY2xhc3MgQ2FyIDogcHVibGljIFZlaGljbGUgewogICBwdWJsaWM6CiAgICAgIHZvaWQgUHJpbnRDYXJTcGVlZCgpIHsKICAgICAgICAgY291dCA8PCAiRHJpdmluZyBhdDogIjsKICAgICAgICAgUHJpbnRTcGVlZCgpOwogICAgICB9Cn07CgpjbGFzcyBFbGVjdHJpY0NhciA6IHB1YmxpYyBDYXIgewogICBwdWJsaWM6CiAgICAgIHZvaWQgU2V0QmF0dGVyeUxldmVsKGludCBsZXZlbFRvU2V0KSB7CiAgICAgICAgIGJhdHRlcnlMZXZlbCA9IGxldmVsVG9TZXQ7CiAgICAgIH0KCiAgICAgIHZvaWQgUHJpbnRCYXR0ZXJ5TGV2ZWwoKSB7CiAgICAgICAgIGNvdXQgPDwgIkJhdHRlcnk6ICIgPDwgYmF0dGVyeUxldmVsOwogICAgICB9CgogICBwcml2YXRlOgogICAgICBpbnQgYmF0dGVyeUxldmVsOwp9OwoKaW50IG1haW4oKSB7CiAgIEVsZWN0cmljQ2FyIG15Q2FyOwoKICAgbXlDYXIuU2V0U3BlZWQoNTApOwogICBteUNhci5TZXRCYXR0ZXJ5TGV2ZWwoMTUpOwoKICAgbXlDYXIuUHJpbnRDYXJTcGVlZCgpOwogICBjb3V0IDw8IGVuZGw7CiAgIG15Q2FyLlByaW50QmF0dGVyeUxldmVsKCk7CgogICByZXR1cm4gMDsKfQ==