Ich bin ein bisschen neu in C++ Objektprogrammierung und brauche ein wenig Hilfe.C++ Aufruf Methode aus der Unterklasse in der Oberklasse
Sagen wir, ich habe die Klasse Animal und die Unterklasse cat. Im Hauptprogramm habe ich ein Array von Zeigern zu Tier, wie folgt aus:
Animal* array[10];
array[0] = new Cat();
Subklassen-Katze, die seine eigene integer hat, und ein Verfahren getType diese ganze Zahl zurückzukehren. Ich würde gerne wissen, wie ich diese Methode nenne.
Ich habe versucht:
array[0]->getType()
Aber es sagt, könnte diese Methode nicht aufgelöst werden, und diese Klasse Tier hat kein Mitglied namens getType. Ich habe auch versucht, diese Methode virtuell zu machen und immer noch nicht funktioniert. Irgendwelche Lösungen?
Mit freundlichen Grüßen
Vielen Dank, das funktioniert perfekt in meinem Fall! – timcheee
@timcheee Beachten Sie, dass, während dies funktioniert, das Schreiben von Code auf diese Weise eine schlechte Übung ist (deshalb wurde meine Antwort nach unten verschoben). Versuche Ansätze in anderen Menschen Antworten. –
Bevor ich diesen Satz mache, überprüfe ich die IF-Anweisung, wenn das Array [i] ein Zeiger auf Cat ist, also bin ich mir sicher, dass ich keine anderen Subklassen in Cat umwandeln werde – timcheee