Habe hier folgendes Stückchen Code:
Alles anzeigen
Plot ist eine Klasse die intern eine Liste von "Plottables" hält. Line ist eine Subklasse von Plottable. Plottable definiert getPlotCommand() woraus dann ein Skript für Gnuplot gebastelt wird. Dieses skript wird in Plot::plot() erstellt und ausgeführt. Im obigen Code wird jetzt aber anstatt Line::getPlotCommand() Plottable::getPlotCommand() ausgeführt was eigentlich nur eine dummy Methode ist weil stl-Listen offensichtlich keine abstrakten Klassen als generic type akzeptieren.
Wenn ich den loop weglasse und einfach die erste Iteration ausführe klappt alles wunderbar.
Kann mir da jemand sagen wie ich das schnell löse? Bin hier grad ziemlich am verzweifeln. Habe auch schon versucht in Plot::plot() alles mittels dynamic cast nach Line zu casten, hat aber auch nicht geholfen.
Quellcode
Plot ist eine Klasse die intern eine Liste von "Plottables" hält. Line ist eine Subklasse von Plottable. Plottable definiert getPlotCommand() woraus dann ein Skript für Gnuplot gebastelt wird. Dieses skript wird in Plot::plot() erstellt und ausgeführt. Im obigen Code wird jetzt aber anstatt Line::getPlotCommand() Plottable::getPlotCommand() ausgeführt was eigentlich nur eine dummy Methode ist weil stl-Listen offensichtlich keine abstrakten Klassen als generic type akzeptieren.
Wenn ich den loop weglasse und einfach die erste Iteration ausführe klappt alles wunderbar.
Kann mir da jemand sagen wie ich das schnell löse? Bin hier grad ziemlich am verzweifeln. Habe auch schon versucht in Plot::plot() alles mittels dynamic cast nach Line zu casten, hat aber auch nicht geholfen.
Gruss Dominik.