2010-09-30 3 views
0

Можно создать дубликат:
Iterate through struct variables.C++, неуправляемый, класс, участники: Как (если вообще) я могу перечислить всех членов класса?

Так у меня есть заголовочный файл и файл кода. Класс представляет собой представление представления, которое будет запрашиваться из хранимой процедуры. Для каждого col. в виду, что в классе имеется один элемент данных. В настоящее время в коде мы имеем что-то вроде этого:

Load(Reader reader) 
{ 
    m_col1 = reader("m_col1"); 
    m_col2 = reader("m_col2"); 
    .. 
} 

Как я могу написать код, который будет перебирать переменных-членов и дать мне код как:

Load(Reader reader) 
{ 
    For (each str in ArrayOfMemberVariables) 
    variableLValue(str) = reader(str); // str = m_col1, m_col2 ... 
} 
+4

Дубликат [Итерация через структурные переменные.] (Http://stackoverflow.com/questions/2205583/iterate-through-struct-variables) (короткий ответ: вы этого не делаете) –

ответ

0

вопрос отражения C++ воспитанный несколько раз. К сожалению, это невозможно, если вы сами не управляете метаданными. См. this question для получения более подробной информации.

0

Если вы имеете в виду объявление динамических имен переменных, например, в PHP (с использованием других имен переменных), вы не можете сделать это на C++.

В C++ у вас нет понятия отражения, как на Java, где вы можете подвергать переменные своего класса и кода тому, что нужно делать, например, сериализацию, зная заранее участников класса.

 Смежные вопросы

  • Нет связанных вопросов^_^