Dynamisch Klassen Laden?
-
Ist es Möglich zur Laufzeit ein Klasse zu Laden?
Das Problem ist ich habe zwei oder mehr Klassen aber es wird erst zur Laufzeit entschieden welchen genommen wird.
-
Mit Zeigern? Oder was hast du genau vor?
-
templates?
-
evtl. Polymorphie nutzen. Basisklasse mit Kindklassen und zur Laufzeit mit new die gewollte Klasse erstellen. Gehört aber eher ins C++ Abteil als MFC
-
Pellaeon schrieb:
Gehört aber eher ins C++ Abteil als MFC
Stimmt, aber erstmal abwarten, was wirklich gewollt ist.
-
Brainiac schrieb:
templates?
Das Problem ist ich habe zwei oder mehr Klassen aber es wird erst zur Laufzeit entschieden welchen genommen wird.
Templates <-> Laufzeit
-
Naja das ganze ist so die Klassen werden genutzt um einen Druck zu realisieren.
Jeder User hat einen anderen Design bzw. andere Daten mit dem der Druck gefüllt wird. Nun ist es so das ich nicht jedesmal den Code des Projektes um arbeiten will nur weil ein neuer User mit einem neuen Druck dazu gekommen ist. Die klassen Bezeichnung setzt sich aus dem Usernamen zusammen. Ein kleines Bsp. ein User = "Bernd" mit seiner Klasse "Bernd" kommt dazu nun wird im Hauptprogramm erkannt das Bernd der User ist und das Programm soll sich somit der Methoden und Eigenschaften der Klasse Bernd bedienen.
-
Hilft dir das hier? http://www.codeproject.com/dll/plugin.asp
-
Ne Factory kann man dafür nehmen. Jede Klasse registriert sich erstmal bei Factory und später kann anhand beliebiger Situationen entschieden werden, welche Klasse instanziert wird. Klasse Bernd, Klasse Flugzeug registrieren sich also in der Factory. Und anhand eines String "Bernd" weiß die Factory, welche Klasse instanziert werden soll.
Das ganze ist in dem Buch "Modernes C++ Design" beschrieben.
-
Hey Artchi das Klingt genau nachdem was ich gesucht hab.
Hast du vielleicht noch einen Link für mich das wäre richtig TOP.
-
Das ganze gibts als Library zumindest als Download:
http://sourceforge.net/projects/loki-lib/Anhand der Testfälle im Test-Verzeichnis und der Doc (index.html suchen) kannste dir das zusammen basteln.
Die gesamte Beschreibung mit technischem Hintergrund und wann man was einsetzt findet man in dem Buch "Modernes C++ Design".