C++: как выбрать тип переменной во время выполнения? |
Здравствуйте, гость ( Вход | Регистрация )
C++: как выбрать тип переменной во время выполнения? |
mezmay |
21.7.2009, 9:28
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Проблема такая: хочу создать класс для обработки массивов чисел. Элементами могут быть вещественный или комплексный short, int, float, double. Программа должна работать примерно так: открываю файл, выбираю тип данных (например, комплексный float) и делаю необходимые преобразования массивов. Вопрос: как хранить прочитанный массив в классе? если например создать поле void *data и после открытия делать myObject.data = new scplx[n]; - то как передавать тип в методы? можно конечно создать enum types{ INT, FLOAT, ...} и в каждом методе делать switch (TYPE){ case INT: ..... case FLOAT: ...} но так слишком много case'ов придется везде вставлять. Есть ли какое-то нормальное решение этой проблемы?
вроде бы для подобных целей существуют шаблоны, но опять же - как задать шаблону тип во время выполения? |
|
|
mezmay |
21.7.2009, 13:46
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
а что скажите о его книге: «Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования» - хорошая?
|
|
|
AD |
21.7.2009, 14:04
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата(mezmay) а что скажите о его книге: «Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования» - хорошая? Я сейчас ее читаю. Книга полезная, интересная, но читать немного сложновато. Говорят, что читать ее проще, если знаешь функциональные языки программирования. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 10:11 |