быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,678
|
|||||||||||
1 | |||||||||||
Как написать функцию, которая бы автоматически определяла типа принимаемых параметров?19.01.2011, 00:50. Показов 1679. Ответов 7
Метки нет Все метки)
(
Друзья! На самом деле примеров подобных функций много, я имею ввиду конструкторы объектов классов из библиотеки STL
Но там принимаемые параметры различаются явно. А у меня- никак, но тем не менее, они разные. Ну то есть я хочу написать класс, работающую как с переменными типа int, так и Verylong (большие числа, суть последовательность элементов). То есть объекты такого класса создастся примерно так:
Необходимо передавать именно переменные, но НЕ ИМЕНА переменных. То есть вот так:
0
|
|
19.01.2011, 00:50 | |
Ответы с готовыми решениями:
7
Написать функцию mult с переменным числом параметров, которая находит произведение чисел типа float Написать функцию на Си, которая бы определяла длину вводимой строки |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
19.01.2011, 08:44 | 2 | |||||
Добавлено через 7 минут Не если именно речь о конструкторе, то тип создаваемых объектов фиксирован для всех конструкторов одного класса, указываемого в декларации самого объекта. Добавлено через 3 минуты не совместимо даже с типом hyper, да и он есть не везде.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,678
|
|
19.01.2011, 09:53 [ТС] | 3 |
Хм, про функцию abs я знаю А мне-то как быть?
Ещё раз: как написать функцию, при передаче параметров которой компилятор автоматически определял бы бы, что 123 это тип int, а 1236767667676767667674545 ДРУГОЙ тип (Verylong в данном случае) ...1236767667676767667674545 очень даже корректное значение нормального такого объекта класса типа VErylong
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
19.01.2011, 10:05 | 4 |
kravam, маловероятно, что у Вас получится задуманное. Компилятор видя "1236767667676767667674545" в качестве фактического аргумента конструктора одна из перегрузок которого принимает int, в любом случае решит, что это int. Ждите нового стандарта с возможностью определения собственных литералов.
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,678
|
|
19.01.2011, 10:12 [ТС] | 5 |
Нехорошо, да. Спасибо, тему к закрытию можно.
0
|
В астрале
![]() 8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
19.01.2011, 14:01 | 6 | |||||
kravam, Boost::Any.
Что мешает сделать так?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,678
|
|
19.01.2011, 14:16 [ТС] | 7 |
Ничего, но это уже отход от условия задачи. А с boostoм сам чёрт ногу сломит, вот к примеру,может мне кто-нибудь сказать, где здесь скачать boost\random
То есть я хочу сказать, то ли он платный, то ли чё, но я скачивание boost осилить не смог.
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
19.01.2011, 14:22 | 8 |
http://sourceforge.net/project... st/1.45.0/ - ссылка на скачивание. В IDE нужно будет прописать у путь к папке с бустом.
0
|
19.01.2011, 14:22 | |