Язык программирования C++


Задание свойств класса - часть 2


vector<double> dvec; sort<double, Compare<double> >(dvec);

Чтобы не загромождать запись, воспользуемся возможностью задать значение параметра по умолчанию. Так же, как и для аргументов функций и методов, для параметров шаблона можно определить значения по умолчанию. Окончательный вид функции сортировки будет следующий:

template <class T, class C = Compare<T> > void sort_vector(vector<T>& vec) { for (int i = 0; i < vec.size() -1; i++) for (int j = i; j < vec.size(); j++) { if (C::less(vec[i], vec[j])) { T tmp = vec[i]; vec[i] = vec[j]; vec[j] = tmp; } } }

Второй параметр шаблона иногда называют параметром-штрих, поскольку он лишь модифицирует поведение класса, который манипулирует типом, определяемым первым параметром.

on_load_lecture()

Перейти к вопросам »

  Если Вы заметили ошибку - сообщите нам.  

Страницы:

« |

1

|

2

|

вопросы | »

|

учебники

|

для печати и PDA


Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

© 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование




Начало  Назад  Вперед



Книжный магазин