Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
9.4 Кб
Скачать

Інформатика — Теорія — Шаблони функцій    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаФункції : Шаблони функційЗміст курсу

Вступ

Теорія

Визначення й виклик функцій

Передача параметрів

Функції, що не повертають значення

Функції із змінним числом параметрів

Рекурсивні функції

Перевантаження функцій

Передача параметрів за замовчуванням

Масиви як параметри функцій

Шаблони функцій

Практика

Практичне заняття

Лабораторна робота

Поточна перевірка знань

Функції

Висновки

Версія для друку

  Шаблони функцій      За допомогою шаблона функції можна визначити алгоритм, що буде застосовуватися до даних різних типів, а конкретний тип даних передається функції у вигляді параметра на етапі компіляції. Компілятор автоматично генерує правильний код, що відповідає переданому типу. Таким чином, створюється функція, що автоматично перевантажує сама себе й при цьому не містить накладних витрат, пов'язаних з параметризацією.

     Формат найпростішої функції-шаблона:

template <class Type>

заголовок

{/* тіло функції */ }

або

template <typename Type>

заголовок

{/* тіло функції */ }

     Замість слова Туре може використовуватися довільне ім'я.

     У загальному випадку шаблон функції може містити кілька параметрів, кожний з яких може бути не тільки типом, але й просто змінної, наприклад:

template <class A, class В, int i>

void f()

{ ... }.

     Як і звичайні функції, шаблони функцій можуть бути перевантажені як за допомогою шаблонів, так і звичайними функціями.

     Можна передбачити спеціальну обробку окремих параметрів і типів за допомогою спеціалізації шаблона функції.

     Як приклад приведемо шаблон функції, що міняє елементи місцями.

template <class T>

void MySwap(T&a,T&b)

{

     T c=a;

     a=b;

     b=c;

}

Основні властивості параметрів шаблона наступні.

1. Імена параметрів шаблона повинні бути унікальними у всьому визначенні шаблона.

2. Список параметрів шаблона функцій не може бути порожнім.

3. У списку параметрів шаблона функцій може бути кілька параметрів. Кожний з них повинен починатися зі службового слова class.

4. Неприпустимо використовувати в заголовку шаблона параметри з однаковими іменами.

5. Ім'я параметра шаблона має в обумовленої шаблоном функції усі права ім'я типу. Ім'я параметра шаблона видно у всьому визначенні й приховує інші використання того ж ідентифікатора в області, зовнішньої стосовно даного шаблона.

6. Всі параметри шаблона повинні бути обов'язково використані в специфікаціях формальних параметрів визначення функції.

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content