Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

nochmal c++

michi_p / 1 Antworten / Flachansicht Nickles

Hallo,


iene weitere Frage:


ich habe eine rein virtuelle Basisklasse A. Diese Klasse A besitzt eine (rein virt.) Funktion mit Rückgabewert Zeiger auf A: A*. (zB virtual A* getPtr(); )
Bei der abgeleiteten Klasse B:A müßte also demnach der Rückgabewert B* sein.
Die implementierung in B habe ich dann so gemacht:


A* B::B getPtr(){
...
return (etwas vom Typ *B);
}


Der Compiler will aber jetzt verständlicherweise einen Rückgabewert vom Typ *A haben und meldet mir den Fehler, daß er *B nicht in *A konvertieren kann.

Weiß jemand wie die Implementierung aussehen muß? An der Basisklasse soll nichts mehr verändert werden.


Danke Micha

bei Antwort benachrichtigen
das stimmt nicht thomas woelfer