Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Refleksja ? Jak dynamicznie stworzyć fabrykę klas ... ?

Ostatnio zmodyfikowano 2015-03-18 17:17
Autor Wiadomość
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 ?
P-128669
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ć.
P-128696
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
P-128713
« 1 »
  Strona 1 z 1