В этой главе описывается, как определять и использовать шаблоны классов. Шаблон - это предписание для создания класса, в котором один или несколько типов либо значений параметризованы. Начинающий программист может использовать шаблоны, не понимая механизма, стоящего за их определениями и конкретизациями. Только профессиональные программисты определяют собственные шаблоны классов и пользуются описанными в данной главе средствами.
Search code, repositories, users, issues, pull requests...
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой. Шаблон элементов терминов относится как к шаблонам функций-членов, так и к шаблонам вложенных классов. Шаблоны функций-членов — это шаблоны функций, которые являются членами шаблона класса или класса. Функции-члены могут являться функциями-шаблонами в нескольких контекстах. Все функции шаблонов классов являются универсальными, но не называются шаблонами элементов или шаблонами функций-членов. Если эти функции-члены принимают собственные аргументы шаблона, они считаются шаблонами функций-членов.
Функции-члены класса тоже могут быть шаблонными. Например, у нас имеется класс Math со статической функцией abs , которая вычисляет абсолютное значение числа:. Эта реализация только для типа int , а ведь параметры могут быть и других типов. Делать шаблонным весь класс не имеет смысла, поэтому мы сделаем шаблонной только функцию-член:. Как видите, всё просто. Шаблонными могут быть не только статические функции.
Шаблоны функций-членов
Шаблоны позволяют создавать параметризованные классы и функции. Параметром может быть любой тип или значение одного из допустимых типов целое число, enum, указатель на любой объект с глобально доступным именем, ссылка. Например, нам нужен какой-то класс:. Для одной конкретной цели мы можем использовать этот класс.