Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 58 стр.

UptoLike

Составители: 

59
Лабораторная работа 6
ШАБЛОНЫ ФУНКЦИЙ И КЛАССОВ
Цель. Получить практические навыки создания шаблонов и исполь-
зования их в программах С++.
Основное содержание работы.
Создать шаблон заданного класса и использовать его для данных
различных типов.
Краткие теоретические сведения.
Шаблон функции.
Шаблон функции (иначе параметризированная функция) определяет
общий набор операций (алгоритм), которые будут применяться к данным
различных типов. При этом тип данных, над которыми функция должна
выполнять операции, передается ей в виде параметра на стадии компиля-
ции.
В С++ параметризированная функция создается с помощью ключе-
вого слова template. Формат
шаблона функции:
template <class тип_данных> тип_возвр_значения
имя_функции(список_параметров){тело_функции}
Основные свойства параметров шаблона функции.
Имена параметров шаблона должны быть уникальными во всем оп-
ределении шаблона.
Список параметров шаблона не может быть пустым.
В списке параметров шаблона может быть несколько параметров, и
каждому из них
должно предшествовать ключевое слово class.
Имя параметра шаблона имеет все права имени типа в определен-
ной шаблоном функции.
Определенная с помощью шаблона функция может иметь любое
количество непараметризованных формальных параметров. Может быть
непараметризованно и возвращаемое функцией значение.
В списке параметров прототипа шаблона имена параметров не обя-
заны совпадать с именами
тех же параметров в определении шаблона.
При конкретизации параметризованной функции необходимо, что-
бы при вызове функции типы фактических параметров, соответствующие
одинаково параметризованным формальным параметрам, были одинаковы.
                                 59

                   Лабораторная работа № 6
               ШАБЛОНЫ ФУНКЦИЙ И КЛАССОВ

     Цель. Получить практические навыки создания шаблонов и исполь-
зования их в программах С++.

     Основное содержание работы.
     Создать шаблон заданного класса и использовать его для данных
различных типов.

      Краткие теоретические сведения.
      Шаблон функции.
      Шаблон функции (иначе параметризированная функция) определяет
общий набор операций (алгоритм), которые будут применяться к данным
различных типов. При этом тип данных, над которыми функция должна
выполнять операции, передается ей в виде параметра на стадии компиля-
ции.
      В С++ параметризированная функция создается с помощью ключе-
вого слова template. Формат шаблона функции:

template  тип_возвр_значения
имя_функции(список_параметров){тело_функции}

      Основные свойства параметров шаблона функции.
      •Имена параметров шаблона должны быть уникальными во всем оп-
ределении шаблона.
      •Список параметров шаблона не может быть пустым.
      •В списке параметров шаблона может быть несколько параметров, и
каждому из них должно предшествовать ключевое слово class.
      •Имя параметра шаблона имеет все права имени типа в определен-
ной шаблоном функции.
      •Определенная с помощью шаблона функция может иметь любое
количество непараметризованных формальных параметров. Может быть
непараметризованно и возвращаемое функцией значение.
      •В списке параметров прототипа шаблона имена параметров не обя-
заны совпадать с именами тех же параметров в определении шаблона.
      •При конкретизации параметризованной функции необходимо, что-
бы при вызове функции типы фактических параметров, соответствующие
одинаково параметризованным формальным параметрам, были одинаковы.