Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpTsHd 391 of 696 menu
◀ ▶

Шаблон в заголовочном файле в C++

Тело шаблона в заголовке должно быть видно компилятору в каждой единице трансляции, где создают экземпляр шаблона, поэтому его обычно кладут в .hpp, а не в .cpp.

Защита от повторного включения через #ifndef / #define / #endif предотвращает двойное определение макроса и повторную вставку текста. Запишем шаблон Box в box.hpp:

#ifndef BOX_HPP #define BOX_HPP template<typename T> struct Box { T value; }; #endif

В main.cpp подключим заголовок кавычками и выведем поле объекта:

#include <iostream> #include "box.hpp" int main() { Box<int> slot{11}; std::cout << slot.value << "\n"; return 0; }

Добавьте в box.hpp метод get, возвращающий value. В main создайте Box<int> с 2 и выведите результат get.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить