Napisz klasę Engine, w której zdefiniujesz:
prywatne pole name;
publiczny konstruktor przyjmujący jeden parametr i ustawiający pole name;
publiczny akcesor i modyfikator do pola name;
publiczną czysto wirtualną metodę turn_on;
publiczną czysto wirtualną metodę turn_off.
Napisz klasy CombustionEngine i ElectricEngine dziedziczące po klasie Engine.
Napisz klasę HybridEngine korzystającą z CombustionEngine i ElectricEngine.
#include <iostream>
using namespace std;
class Engine
{
private:
string name ,model;
public:
Engine(string nazwa="domyslny"){
name = nazwa;
}
virtual void turn_on() = 0;
virtual void turn_off() = 0;
void change_name(string nazwa , string mod)
{
name=nazwa;
mod=model;
}
string get_name()
{
return this->name;
}
};
class CombustionEngine : public Engine
{
public:
virtual void turn_on() override
{
cout<<" Turn on Combustion Engine ! ";
}
};
class ElectricEngine : public Engine
{
public:
virtual void turn_off()override{
cout<<" Turn off Electric Engine ;( ";
}
};
class HybridEngine : public ElectricEngine, public CombustionEngine
{
public:
virtual void turn_off() override
{
cout<<"Wylaczono hybrydowy silnik";
}
};
int main()
{
Engine *e;
}
*** mam problem z przeciążeniem funkcji nie wiem jak to zrobić. W main pokazuje mi bład.