#24 – Шаблоны функций (template)

#24 – Шаблоны функций (template)

За счет шаблонных функций вы можете передавать не только параметры, но также типы данных в функцию. За урок вы научитесь создавать шаблонные функций в C++.

Видеоурок

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


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


Пример создания шаблонной функции:

template <typename Type1> // Указываем что это шаблон функции
// Принимаем параметр value и его тип данных мы получим
// также в качестве передаваемого параметра - Type1
void funct (Type1 *value) {
	cout << value; // Просто выводим это значение
}
Для передачи нескольких типов данных стоит прописать следующее:
// Здесь мы получаем сразу два типа данных
template <typename Type1, typename Type2>
void funct (Type1 *value, Type2 *newValue) {
	// Мы можем использовать передаваемые типы в самой функции
	Type1 someNew;
	cout << newValue; // Просто выводим значение
}
Для вызова шаблонной функции пропишите следующее:
// Вызов функции с одним параметром
funct<double>(value);
// Вызов с несколькими параметрами
funct<char, double>(value, oneMoreValue);

Исходный код

Шаблоны функций
#include <iostream>
#include <string>

using namespace std;

template <typename T, typename T2>
void print_arr(T* arr, int len) {
	for (T2 i = 0; i < len; i++)
		cout << *(arr + i) << " ";

	cout << endl;
}

int main() {
	setlocale(LC_ALL, "RU");

	int arr1[] = { 5, 6, 3, 2, 0, -4 };
	print_arr<int, int>(arr1, 6);

	float arr2[] = { 5.34f, 6.01f, 3.23f };
	print_arr<float, int>(arr2, 3);

	return 0;
}

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

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

Также стоит посмотреть

Изучение C++ от новичка до профи
Уроки Qt Creator | Графический интерфейс на С++
13 уроков
Уроки C++ WinForms / Создание программ на Windows
8 уроков
Создание игры на C++ / Создание "Змейки"
3 урока
Игра с дизайном на C++ / Создание C++ WinForms игры
6 уроков
Основы программирования
12 уроков
Комментарии
Добавить комментарий

Пока комментариев нет