Refleksja ? Jak dynamicznie stworzyć fabrykę klas ... ?
Ostatnio zmodyfikowano 2015-03-18 17:17
ChomikPL Temat założony przez niniejszego użytkownika |
Refleksja ? Jak dynamicznie stworzyć fabrykę klas ... ? » 2015-03-18 10:19:46 Witam,
Z dość długiego rozpoznania tematu dowiedziałem się, że C++ nie obsługuje mechanizmu refleksji (no może poza klasą QMetaObject w QT, ale ona potrzebuje konkretnego obiektu do analizy).
Mam za zadanie stworzyć dynamiczną fabrykę klas, która posiadałaby w sobie wszystkie klasy, które dziedziczą po danej klasie bazowej, bez konieczności wpisywania ich do fabryki (miliardami if'ów) po utworzeniu nowej klasy.
Zawsze mogę przetworzyć wszystkie pliki cpp z katalogu i wyciągnąć nazwy tych klas, ale będą to stringi i nie mam pojęcia jak zamienić nazwę klasy zapisaną w stringu na wskaznik na tę właśnie klasę ... (myslalem o jakimś makrze preprocesora odwrotnym do STR, ale jakoś nie doszukałem się).
Jakieś pomysły ? |
|
pekfos |
» 2015-03-18 15:25:14 Może trzymaj jakiś zbiór predefiniowanych obiektów i potem wykonuj polimorficzne wywołanie klonowania obiektu. Dalej musisz mieć 'miliard' użyć potrzebnych typów, ale fabryka sama w sobie nie musi już o tym wiedzieć. |
|
ChomikPL Temat założony przez niniejszego użytkownika |
» 2015-03-18 17:17:07 Hehe, no szczerze mówiąc myślałem o tym, jednak trzymanie takiej kolekcji byłoby w tym przypadku dość kosztowne, szukam lepszego rozwiązania |
|
« 1 » |