11. november 2004 - 20:14
Der er
7 kommentarer og 1 løsning
Reflections i c++
Hej, Jeg er ved at lave et program hvor jeg skal oprette nogle objekter af forskellige typer. Ligenu laver jeg en switch på hvilken type objekt jeg skal oprette, men jeg kunne godt tænke mig at der blive noget mere dynamisk. Kan det på en eller anden måde lade sig gøre at oprette et objekt af en klasse ud fra Klassen navn? (Vist også kaldes reflection?
Annonceindlæg fra Thales
11. november 2004 - 20:16
#1
Ikke i normal C++. I Microsoft managed Visual C++ må det være muligt. Og bemærk ordet "managed".
11. november 2004 - 20:17
#2
Hmm - jeg bruger g++. Kan det så ikke lade sig gøre?
11. november 2004 - 20:19
#3
Nej.
11. november 2004 - 20:20
#4
Det "sjoveste" du kan lave er brug af .dll/.so filer hvor du runtimer angiver hvilken der skal loades og bruger den.
11. november 2004 - 21:10
#5
Hmmm - ja det er ikke sjovt efter min mening:-) Jeg sidder lige og kigger lidt på et factory pattern. Det er mere for at få oprettet objekterne så flot og dynamsik som muligt. Har du nogle forsalg?
11. november 2004 - 21:28
#6
Både Factory Method pattern og Avstract Factory patterns er glimrende. Også i C++. Men det er lidt fixere i Java og C#. Mulighederne i C++ er: 1) if's eller switch 2) .dll/.so loading
12. november 2004 - 10:20
#7
Du kunne måske også brug STL map hvor du angiver ("navn", myclass::opret) hvor opret returnerer et new af den class.
13. november 2004 - 12:33
#8
Jeg fandt ud at noget med at bruge en enum istedet.
Kurser inden for grundlæggende programmering