C++ RTTI, Container

Hi,

ich brauche eine Klasse, die beliebige Typen aufnehmen kann, ohne die Typinformationen zu verlieren. Eine Template Klasse ist nicht ohne weiteres geeignet (das auszufuehren wuerde jetzt zu weit fuehren, sagen wir, ich brauch ein konkretes Objekt im Code, das alles moegliche aufnehmen kann). Bisher habe ich es so geloest, dass ich fuer alle unterstuetzen Typen jeweils einen Pointer im Container habe, sowie ueberladene private Zugangsfunktion und template Funktionen als interface. Das ist aber offensicht unpraktisch und wenig elegant. Alternativ habe ich versucht, die Daten hinter einem void pointer abzulegen und die Typinformation als string type = typeid(storeThis).name() abzulegen. Das funktioniert auch, nur gehen mir damit bedauerlicherweise hierarchie informationen verloren. Das heisst, wenn die gespeicherten Daten, verwendet werden sollen, um ein Objekt einer Basisklasse des Typs der gespeicherten Daten zu initialisieren, geht das nicht, obwohl es natuerlich eigentlich zulaessig waere.
Hat wer eine Idee?

Gruss

Thorsten