#include <iostream>
using std::cout;

class Auto {
  public:  
  Auto() { }
  virtual void Fahren() {cout <<"Autofahren\n"; }
};
 
class BMW : public Auto {
public:
  void Fahren() {
    cout << "BMW fahren\n";
    Beschleunigen();
  }
  virtual void Beschleunigen() { cout << "BMW beschleunigen\n";}
};
 
class dreierBMW: public BMW {
  public:
  dreierBMW() {}
  void Beschleunigen() {cout << "3er BMW beschleunigen\n";};
};

int main() {
  BMW* meinBMW = new dreierBMW;
 
  Auto* meinAuto = meinBMW;
 
  meinAuto->Fahren();
}
 
