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

Можете обяснить зачем использовать template<> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать класс - "Троичный вектор" http://www.cyberforum.ru/cpp-beginners/thread513183.html
Здраствуйте форумчане! Вот задали задачу: Реализовать класс «Троичный вектор» – Tvector размерности n. Компоненты вектора принимают значения из множества {0,1, X}. Два троичных вектора tk = (t1^k,...,tn^k) и (t1^l,...,tn^l) называются ортогональными, если существует такое i, что ti^k, ti^l ∈ {0,1} ti^k ≠ ti^l. Операция пересечения не ортогональных векторов выполняется покомпонентно по...
C++ Вычислить расстояние удаляющихся друг от друга автомобилей Доброго времени суток! Помогите пожалуйста! Нужно решить задачи к зачету. Много пропустил, в том числе и С++. Задача: написать программу на С++, которая будет вычислять расстояние удаляющихся друг от друга автомобилей, если заданы их скорости V1 и V2, начальное расстояние S и время движения T. И то же, если только они будут двигаться навстречу друг другу. Заранее благодарен за помощь! http://www.cyberforum.ru/cpp-beginners/thread513178.html
Вывести рандомный массив, вставить в начало массива К рандомных чисел, и вывести результат C++
Одномерный массив Вывести рэндомный массив с Н элементов, после этого вставить в начало массива К рэндомных чисел и вывести новый массив.
C++ Создать класс "дерево"для представления арифметического выражения
Создать класс "дерево" для представления арифметического выражения, каждый из узлов которого содержит числа или знаки арифметических операций.
C++ Задача на списки и деревья. http://www.cyberforum.ru/cpp-beginners/thread513132.html
Вот она: Написать программу, которая вводит с клавиатуры список целых чисел, строит инверсную копию списка, затем вводит с клавиатуры дерево поиска и считает количество положительных и отрицательных элементов дерева. :confusion:
C++ Вычислить значение заданной функции c++ Вычислить значение заданной функции y=f(x) на данном интервале с заданным шагом h. Вывод значений аргумента и результаты вычисления значений функции сделать в виде таблицы. Функция y={log}_{2}x+{2}^{x} Диапазон изменения аргумента x\epsilon Шаг изменения аргумента \Delta x=1/4 подробнее

Показать сообщение отдельно
gumi250
430 / 397 / 35
Регистрация: 06.02.2012
Сообщений: 1,371
06.03.2012, 06:37     Можете обяснить зачем использовать template<>
Чтобы не переписывать одну и туже ф-цию(класс) для всех возможных типов. Например без шаблонов будет так
C++
1
2
3
4
5
6
7
8
9
int Sum(int a, int b)
{ return a+b;
};
long Sum(long a, long b)
{ return a+b;
};
double Sum(double a, double b)
{ return a+b;
};
Здесь фактически одно и тоже вы делаете дважды, трижды, четырежды и т.д для всех возможных типов, и все равно все типы не перепишите.
А с шаблонами для все типов сразу.
C++
1
2
3
template<class T> T Sum(T a, T b)
{ return a+b;
}
 
Текущее время: 15:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru