Funktionsüberschreibung bei verschiedenen Rückgabetypen

Beeinflusst der Rückgabetyp das Überschreiben der Funktion? (Soweit ich weiß, ist return typde kein Teil einer Funktions- / Methodensignatur.) In einer Basisklasse habe ich eine Funktion, die keine Argumente bekommt, returnint und ist rein virtuell. In jeder abgeleiteten Klasse definiere ich eine Aufzählung für den Rückgabetyp. Die Funktion wird in den abgeleiteten Klassen überschrieben, d. H. Sie hat dieselbe Signatur, aber unterschiedliches Verhalten. Die Frage ist: Ist das für das Überschreiben und Zurückgeben zulässige Typ nicht Teil des Überschreibens von Funktionen?

Codebeispiel:

class Base
{
  public:
  typedef int ret;
  virtual ret method() = 0;
};

class Der1
{
public:
  enum ret1{
    ret1_0,
    ret1_1
  };
  ret1 method() { return ret1_1;}
};

class Der1
{
public:
  enum ret2{
    ret2_0,
    ret2_1
  };
  ret1 method() { return ret2_0;}
};

Antworten auf die Frage(4)

Ihre Antwort auf die Frage