Templates in Maps speichern, bessere Idee?
-
Hallo ihr Freaks
Ich habe folgendes Anliegen: Ich möchte in einer <-- !! map (list, vector, wie auch immer) Objekte vom Typ eines Templates ablegen.
Das geht so ja erstmal nicht, da die Ausprägung nicht bekannt ist.
Meine Idee wäre nun, dass ich eine abstrakte Basisklasse erstelle, von der die Templateklasse erbt.Die Templateklasse muss nun bestimmte Funktionalitäten implementieren ("equal", "less" usw.), damit die map mit ihr umgehen kann.
Die Implementierung am Ende würde dann so aussehen:
class Basis
{
// ...
};template <class Typ>
class TemplateKlasse : public Basis
{
// ...
};map<Ober, int> myMap;
[/cpp]Wäre meine Idee so möglich? Oder wär das zu aufwändig? Oder hat jemand noch eine viel bessere Idee? third party muss leider draußen bleiben
-
Ist grundsätzlich sinnvoll, aber nur, wenn die abgeleiteten Typen wirklich etwas gemeinsam haben. Da du hierbei sowieso Polymorphie benutzen musst, rate ich zu Boost.PointerContainer.