Форум программистов, компьютерный форум CyberForum.ru

Обращение к полям структуры - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
besstiaa
 Аватар для besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
28.10.2010, 12:22     Обращение к полям структуры #1
Здравствуйте.
Возник такой вопрос. Есть, например, структура с множеством полей

C++
1
2
3
4
5
6
7
8
struct Ex
{
   int a1:4;
   int a2:1;
   int a3:2;
   // ... 
   int a99:1;
};
Есть объект.
C++
1
Ex ex;
И далее по желанию пользователя надо вывести значение какого-то поля структуры.
Какое именно задается вводом с клавиатуры. Т.е. если пользователь
набирает "a1" выводится значение первого поле, "a4" - четвертого и так далее.
Соответственно, приходит на ум только решение с if. Что-то вроде:

C++
1
2
3
4
if( ch == "a1")
   std::cout << ex.a1 << std::endl;
if (ch == "a4")
   std::cout << ex.a4 << std::endl;
Однако, хочется, сделать что-то немного поуниверсальнее, потому как
структур много, полей в них не так уж мало и меняются периодически.
Может быть есть какие-то библиотеки, где что-то подобное реализовано.
Или в какую сторону копать подскажите, пожалуйста.

Добавлено через 14 часов 5 минут
Неужели всё так печально(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 12:22     Обращение к полям структуры
Посмотрите здесь:

C++ не могу присвоить значения полям структуры.почему?
Сортировка по полям структуры C++
C++ Не очевидное смещение к полям структуры
C++ Как присвоить полям структуры значение?
C++ классы, обращение к полям
C++ Обращение к приватным полям классов
C++ Доступ к полям структуры по номерам
Обращение к полям и методам класса через объект C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru