namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:beispiel:override

Beispiel override und final

override.cpp
#include <iostream>
 
class DeepThought
{
public:
  int berechnen () 
  { // sleep(years2secs(7500000));
    return zahl << 1 ^ zahl << 3 ^ zahl << 5; 
  }
protected:
  int zahl;
};
 
class Antwort
{
public:
  virtual int erfragen() { return 0; }
  virtual ~Antwort() = default;
};
 
class EinfacheAntwort : public Antwort
{
  int erfragen() override { return 42; }
}
 
class UltimativeAntwort : public Antwort, private DeepThought
{                         // Interface         Implementation
public:
  int erfragen() final
  {
    zahl = 1;
    return berechnen(); 
  }
};
 
class WirklichLetzteAntwort final : public UltimativeAntwort {};
 
int main()
{
  Antwort* antwort = new WirklichLetzteAntwort();
  std::cout << antwort->erfragen() << '\n';
  delete antwort;
}
kennen/beispiel/override.txt · Zuletzt geändert: 2017-10-09 12:51 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki