Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ООП.docx
Скачиваний:
5
Добавлен:
18.09.2019
Размер:
114.62 Кб
Скачать

45. Параметры шаблонов.

Параметры шаблона являются его формальными параметрами, а типы тех параметров, которые используются в конкретных обращениях к функции, служат фактическими параметрами шаблона. Именно по ним выполняется параметрическая настройка и с учетом этих типов генерируется конкретный текст определения функции.

Основные свойства параметров шаблона: 1. Имена параметров шаблона должны быть уникальными во всем определении шаблона. 2. Список параметров шаблона функции не может быть пустым, так как при этом теряется возможность параметризации и шаблон функций становится обычным определением конкретной функции. 3. В списке параметров шаблона функций может быть несколько параметров. Каждый из них должен начинаться со служебного слова class. Например, допустим такой заголовок шаблона: template <class type1, class type2> Соответственно, неверен заголовок: template <class type1, type2, type3> 4. Недопустимо использовать в заголовке шаблона параметры с одинаковыми именами.

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

46. Шаблоны клаССов.

Аналогично шаблонам функций. определяется шаблон классов:  template <список_параметров_шаблона> определение_класса

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

имя_параметризованного_класса <фактические_параметры_шаблона> имя_объекта (параметры_конструктора)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]