2013-05-21 3 views
0

Я прочитал из файла и на основе каждой строки создаю объект класса с тем же именем, что и первое слово строки, это потребует от меня сделать «if statement» для проверки каждое слово, а затем создать объект. Есть ли способ, чтобы преобразовать строку в имя класса, так что я могу сделать что-то вроде этого:C++ String to class name

string className = "someClass"; 
className obj; 
+0

И нет, вы не можете этого сделать. Языки с отражением могут сделать это (например, Objective-C в семействе языков C). –

+0

Попытка получить имя класса из файла, а затем создать экземпляры этого класса является признаком плохого дизайна. Вы должны рассмотреть альтернативные, более чистые (и более ясные) способы делать что-то, прежде чем вступать в это вручную. Какую проблему вы действительно пытаетесь решить? –

ответ

1

Нет, вы не можете ...
декларация/определение, должно быть известно во время компиляции. Тем не менее, вы можете добиться выполнения полиморфизма, создавая иерархию классов (и/или интерфейсы).