Познакомиться с шаблонами в C++ и научиться использовать их для создания обобщённых функций и классов.
Что мы узнаем:
- Что такое шаблоны и как их использовать.
- Шаблоны функций и классов.
- Стандартная библиотека шаблонов (STL).
Теоретическая часть:
Что такое шаблоны?
Шаблоны позволяют создавать обобщённые функции и классы, которые могут работать с различными типами данных.
Пример шаблона функции:
template <typename T>
T add(T a, T b) {
return a + b;
}Шаблоны классов
Шаблоны классов позволяют создавать классы, которые могут работать с различными типами данных.
Пример шаблона класса:
template <typename T>
class Stack {
private:
T* data;
int size;
public:
Stack(int size) : size(size) {
data = new T[size];
}
~Stack() {
delete[] data;
}
void push(T value) {
// Реализация
}
T pop() {
// Реализация
}
};Стандартная библиотека шаблонов (STL)
STL предоставляет множество готовых шаблонов, таких как контейнеры (
vector, list, map) и алгоритмы (sort, find).Пример использования
vector:
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int num : vec) {
std::cout << num << std::endl;
}
return 0;
}Практическая часть:
Задача 1: Создайте шаблон функции для вычисления суммы двух чисел.
template <typename T>
T add(T a, T b) {
return a + b;
}Задача 2: Создайте шаблон класса для стека.
template <typename T>
class Stack {
private:
T* data;
int size;
public:
Stack(int size) : size(size) {
data = new T[size];
}
~Stack() {
delete[] data;
}
void push(T value) {
// Реализация
}
T pop() {
// Реализация
}
};Итог урока:
Сегодня мы узнали, как использовать шаблоны в C++. Эти знания помогут вам создавать более гибкие и универсальные программы.