Объектно-ориентированное программирование: учебное пособие / В. Н. Казагачев.

ЛЕКЦИЯ №12. Шаблоны функции и классов ШАБЛОНЫ ФУНКЦИЙ В более поздние версии C++ включено специальное средство, позволяющее параметризовать определение функции, чтобы компилятор мог построить конкретную реализацию функции для указанного типа параметров функции. Параметризованное определение функции строится по схеме: template < class имя класса > Заголовок функции { /* Тело функции */} Имя класса является параметром и задается идентификатором, локализованным в пределах определения функции. Хотя бы один из параметров функции должен иметь тип, соответствующий этому идентификатору. Параметризованное определение функции сортировки массива методом перестановок может быть построено следующим образом: template <class Т > void sort ( Т а[ ], int n ) { Т temp; int sign; for ( int k = 0; k > n; k++) { sign = 0; for ( i = 0; i <n - k; i++) if ( a [ i ] > a [ i + 1]) { temp = a [ i ]; a [ i ] = a [ i + l ] ; a[ i + 1 ] = temp; sign++; } if ( sign — 0 ) break; } return; } Если в программе будут объявлены массивы int aint [10]; double afl [20];

RkJQdWJsaXNoZXIy MTExODQxMg==