techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|||||||||||
1 | |||||||||||
Обход членов класса18.08.2016, 15:42. Показов 1023. Ответов 15
Метки нет (Все метки)
Вопрос:
Возможно ли на С++ вообще написать шаблон, который будет генерировать функцию, производящую одно и тоже действие над каждым членом класса так, как это делается для конструкторов и деструкторов. т.е.
0
|
18.08.2016, 15:42 | |
Ответы с готовыми решениями:
15
Создать экземпляр класса без явного указания членов класса Создать класс CheckerBoard (особенности строения класса - инициализация константных членов класса) Массив объектов класса. Печать строк-членов класса. Инициализация членов дочернего класса членами класса родителя |
18.08.2016, 15:49 | 2 |
Не совсем ясно. Объясните подробнее, что вам нужно от функции.
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
18.08.2016, 15:49 | 3 |
1
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||
18.08.2016, 16:00 [ТС] | 4 | |||||
Я так понимаю, что основа там в :
0
|
Slip.
|
18.08.2016, 16:11
#5
|
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
18.08.2016, 16:17 | 6 |
C++14
Вот, откопал откуда я это брал: https://habrahabr.ru/company/y... nt_9623718 Добавлено через 6 минут Mirmik, Собственно это единственный красивый вариант, для решения вашей проблемы. А если вас не устраивает требование в С++NN, тогда макросами генерить поля в структуре.
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
18.08.2016, 16:19 | 7 |
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
18.08.2016, 16:33 [ТС] | 8 |
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
18.08.2016, 16:42 | 9 |
Mirmik, Умеет.
0
|
18.08.2016, 16:48 | 10 |
Может кто-нибудь для тех кто в танке объяснить проблему и решение доходчиво?
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
18.08.2016, 16:51 | 11 | |||||
5
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
18.08.2016, 16:52 | 12 |
1
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
18.08.2016, 16:54 [ТС] | 13 |
Ага... Идея понятна.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
18.08.2016, 22:31 | 14 |
нет.
и в ближайшее время на это не придется рассчитывать. статическую рефлексию завезут не раньше с++20.
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
19.08.2016, 07:51 [ТС] | 15 |
hoggy ... хорошо бы. Это полезная фишка.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
20.08.2016, 13:15 | 16 |
сейчас к вашим услугам всевозможные костыли на макросах,
термоядерных шаблонах, и на ручном приводе. на мой взгляд наиболее приличный дизайн здесь можно подсмотреть у boost.serialization, или cereal есть и более продвинутые решения: дополнительный этап сборки, с запуском внешнего кодогенератора. здесь наиболее приличный дизайн можно подсмотреть, посмотрев в сторону IDL компиляторов.
1
|
20.08.2016, 13:15 | |
20.08.2016, 13:15 | |
Помогаю со студенческими работами здесь
16
Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса Обход инкапсуляции класса Обход полей класса Ввод членов класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |