Hier ist der Deal. Ich habe eine große Klassenhierarchie und ich habe diese eine Methode, die den ganzen Weg verlängert wird. Die Methode muss immer auf jeder neuen Ebene nach einer oder zwei Variablen suchen, und diese Variablen hängen von der tatsächlichen Klasse in der Hierarchie ab. Was ich tun möchte, ist, diese zwei zusätzlichen Variablen zu überprüfen und dann die Version der Superklasse derselben Funktion aufzurufen. Ich möchte in der Lage sein, diese Funktion zu definieren, da alle ihre unmittelbaren Kinder es verwenden werden, aber ich möchte zwingen, dass alle Kinder dieser Klasse diese Methode neu definieren müssen (weil sie ihre neuen Datenmitglieder anzeigen müssen)In C++ ist es möglich, eine definierte rein virtuelle Funktion zu haben?
Also, wie würde ich das schreiben? Ich verwende normalerweise = 0; in der .h-Datei, aber ich nehme an, dass ich das nicht benutzen und definieren kann ...
Vielleicht ist mein Gehirn zu klein, aber das Ändern der Signatur von pure_virtual in der abgeleiteten Klasse hat mich verwirrt. Was illustriert es? –
Onyone guten Fang oO ich habe es nicht entdeckt. Ich vermute, es ist ein Tippfehler? –
Bei der ursprünglichen Frage wurden zusätzliche Daten an die in den untergeordneten Klassen definierte Funktion übergeben. Jetzt, wo du es erwähnst, denke ich, dass es auch in der Basisklasse sein sollte. –