Instanz einer Klasse deklarieren
-
Ist es möglich, eine Instanz einer Klasse zu deklarieren, dessen Name in einem String steht?
Danke im Vorraus
-
nein.
Esco
-
äh... das muss doch irgendwie gehen oder?
ich möchte nämlich die eingabe des benutzers als instanznamen verwenden...
-
nein, ausser hmmm
du liesst ein ( den namen ) dann mit c++ oder scipt vergibts die dateinamen mit weiteren code bindest in eine dll rein und benutzt dies dann so dynamisch.
aber ansonsten
njiet
-
Du verwendest Microsofts COM-Technologie und schon gehts.
-
the_answer schrieb:
äh... das muss doch irgendwie gehen oder?
Nicht auf direktem Wege, da C++ nunmal ein statisches Typsystem hat.
the_answer schrieb:
ich möchte nämlich die eingabe des benutzers als instanznamen verwenden...
Darf man mal fragen, wofür du sowas brauchst?
Wenn du den Namen der Instanz nicht kennst, wie willst du dann darauf zugreifen?
Oder anders gefragt, wie stellst du dir vor darauf zuzugreifen?
Ich glaube, dein Ansatz ist einfach falsch. Reicht denn eine Instanz foo, die einen Member Name hat, nicht aus? Oder willst du evtl. verschiedene Instanzen für verschiedene Benutzer bereitstellen? Dann könnte vielleicht eine Map was für dich sein.
-
Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC mit dem Visual C++ in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Nochmal zur Fragestellung, eins kam nicht ganz raus:
Typ name;
Was steht denn nun in deinem String? Der Typ oder der Name?
Zweiteres kannst du gleich vergessen, lass dir einen fixen Namen einfallen, es ist vollkommen egal für die Semantik deines Programms wie die Variable heißt.
Wenn der Typ in deinem String steht und alle möglichen Typen die da in Frage kommen abgeleitet von einer Basisklasse sind wärs mit Polymorphie möglich:
Auto* var; if(input=="Porsche") { var = new Porsche(); } else { var = new Audi(); }
Sollte das auch nicht der Fall sein wirds happig was die Verwendung von Stanardmitteln von C++ angeht.
MfG SideWinder