Avatar ·

Wie ruft man eine Methode der Elternklasse aus einer überschriebenen Methode in C++ auf?

Hallo! Ich lerne C++ und komme mit der Vererbung nicht klar. Ich habe eine Basisklasse `Animal` mit einer virtuellen Methode `Speak()`, die "Some generic animal sound" ausgibt. Ich erstelle eine abgeleitete Klasse `Dog`, die diese Methode überschreibt, um "Woof!" auszugeben. Das Problem ist, dass ich in der Methode `Speak()` der Klasse `Dog` zuerst den Code der Elternklasse `Animal::Speak()` ausführen und dann meine eigene spezifische Ausgabe für den Hund hinzufügen muss. Ich versuche, sie direkt aufzurufen, aber es klappt nicht. Hier ist mein Code: ```cpp #include using namespace std; class Animal { public: virtual void Speak() { cout << "Some generic animal sound" << endl; } }; class Dog : public Animal { public: void Speak() override { // Hier möchte ich zuerst Animal::Speak() aufrufen Speak(); // Ruft sich selbst auf — endlose Rekursion! cout << "Woof!" << endl; } }; int main() { Dog myDog; myDog.Speak(); // Erwarte