zwei verschiedene typen in einer liste
-
gibt es eine möglichkeit zwei verschiedene typen in einer liste zu speichern?
natürlich würde es mit void* gehen, aber das finde ich irwie unschön...
-
boost::any, Vererbung und Polymorphie.
-
Wozu brauchst du das?
-
Was genau hast du vor?
-
ein vorläufiges design für ein rendersystem für SPRITES und TEXTE.
dafür habe ich zwei strukturen gemacht (sprite_desc und text_desc) diese muss ich alle in einer liste speichern...
ich weiß, das design ist noch etwas naja, aber ich brauche es auch nur zu testzwecken, bis ich ein besseres habPS: boost will ich nicht verwenden
-
gamer8o4 schrieb:
diese muss ich alle in einer liste speichern...
Können es nicht zwei Listen sein?
Sonst musst du dir einen algebraischen Datentyp mit unions bauen, etwa im Stil von Alexandrescus expected<T>.
-
Oder du nutzt Polymorphie, machst die entsprechenden Funktionen virtual und packst in die Liste zeiger auf die gemeinsame Basisklasse.
Aber in der Regel können es ruhig zwei Listen sein.
-
ich probiers erstmal mit den basisklassen