указание типа объекта во время выполнения

Возможный дубликат:
Есть ли способ создания объектов из строки, содержащей их имя класса?

Я написал шаблонный класс Vbo для работы с объектами буфера вершин в opengl. Я пишу для нескольких платформ на C ++.

Я хотел бы установить тип из файла конфигурации во время выполнения.

например

<vbo type="bump_vt" ... />

Vbo* pVbo = new Vbo<bump_vt>(...);

Есть ли способ, которым я могу сделать это без большого блока if else, например

 Vbo* pVbo;

if( sType.compareTo("bump_vt") == 0 )
pVbo = new Vbo<bump_vt>(...);
else if
...

Спасибо

0

Решение

C ++ не позволяет этого, потому что типы разрешаются во время компиляции.

Но вы можете использовать std :: map для упрощения процесса.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]