Задание № 1663

Студент

Щелканова Елена

Задача

Шаблонная функция sum_all

Состояние

Завершено

Баллов

4

Дедлайн
23 сентября 2019
Назначено

03.09.2019, 10:14

Завершено

06.12.2019, 07:05

Реализовать функцию sum_all, которая позволяла бы суммировать аргумент практически любого типа, который ей передан.

Входные данные

vector<int> v1    = { 1, 2, 3 };
vector<double> v2 = { 1, 2, 3 };
vector<string> v3 = { "a", "bc", "def" };
vector<char> v4   = { 'a', 'b', 'c' };

Описание задачи

sum_all будет представлять из шаблон функции с частичной специализацией для vector<T>.

Выходные данные

sum_all(5);   // 5
sum_all(3.0); // 3.0
sum_all(v1);  // 6
sum_all(v2);  // 6.0
sum_all(v3);  // строка "abcdef"
sum_all(v4);  // строка "abc"

Усложнения

  1. Добавить частичные специализации для list<T>, forward_list<T>, set<T>, unordered_set<T>.
  2. Добавить частичные специализации для map<K,V> и unordered_map<K,V> с суммированием по значениям (V).

Примечания

+2 за 'Усложнения'

Действия