4971

Шаблон и шаблонный класс

Контрольная

Информатика, кибернетика и программирование

Шаблон При решении практических задач возникает необходимость создания семейства классов для формирования для описания похожих объектов. Формирование семейства классов целесообразно при описании структур данных, например, массивов указателей, списко...

Русский

2012-11-30

43.86 KB

15 чел.

Шаблон

При решении практических задач возникает необходимость создания семейства классов для формирования для описания похожих объектов.

Формирование семейства классов целесообразно при описании структур данных, например, массивов указателей, списков, деревьев и т.д.

Для формирования семейств классов используются шаблонные классы.

Шаблонный класс (шаблон) – это параметризированный класс. В качестве параметров параметризированного класса указываются типы данных и константы.

С помощью шаблонных классов можно создавать обобщенные структуры данных: массив указателей, список, очередь и т.д. Тип и количество объектов для конкретного класса можно задавать с помощью параметрами.

Например, можно разработать шаблонный класс массив указателей. В качестве параметров такого шаблонного класса следует использовать тип объектов, входящих в данную структуру данных и их количество.

Описание шаблонного класса

Для описания шаблонного класса используется ключевое слово template.

Формат описания шаблонного класса следующий

template <class T, int N>

class Massiv

{

Massive();

~Massive();

};

Т является обозначением передаваемого в шаблон класса (типа данных). Служебное слово класс является признаком того, передаваемый в класс параметр- тип данных.

Обозначение конкретного типа данных слева от передаваемого параметра означает, что данных параметр является константой.

Например, шаблонный класс Massiv предназначен для организации классов массивов из элементов данных типа Т с количеством элементов N.

Для организации класса массивов, состоящих из фиксированного количества элементов конкретного типа целесообразно использовать операцию typedef.

Например, для описания класса массива целых чисел из 20 элементов следует использовать команду

typedef Massive<int,20> MassiveInt20;

Далее можно определять конкретный массив

MassiveInt20 M1;

Возможен вариант определения массива непосредственно на основе шаблона

Massive<int,20> M2;

Полное определение функций шаблона должно выглядеть следующим образом

template <class T, int N>

Massive<T,N>::Massive()

{

}

Определение шаблона и описание функций должны находиться в одном файле.

Сравнительный анализ класса и шаблона

Класс

Шаблон

Служит для описания однородных объектов

Служит для описания семейства классов

Описывается в виде двух файлов

Описывается в виде одного файла

Далее приведен пример класса список


 

А также другие работы, которые могут Вас заинтересовать

48621. Система регулирования подачи воздуха в топку 344.5 KB
  Определение оптимальных значений параметров настройки регулятора. Выбор типового промышленного регулятора. Данный курсовой проект посвящен синтезу локальной системы регулирования технологического параметра объекта включающему в себя выбор необходимого закона регулирования регулятора и разработку системы в целом на базе приборов ГСП. На вход регулятора воздуха поступают сигнал от задатчика 3 содержания кислорода в уходящих топочных газах сигнал измерителя содержания кислорода в топочных газах и дополнительный корректирующий сигнал по...
48623. Пристрій для зсуву коду на два розряди вліво з паралельним введенням/виведенням та контролем за непарністю у процесі передачі даних 1.39 MB
  ТИПОВІ ВУЗЛИ ЩО ВИКОРИСТОВУЮТЬСЯ ДЛЯ СТВОРЕННЯ РОЗРЯДНОГО РЕГІСТРА. Зчитування інформації Логічні мікрооперації в регістрах. ТИПОВІ ВУЗЛИ ЩО ВИКОРИСТОВУЮТЬСЯ ДЛЯ СТВОРЕННЯ РОЗРЯДНОГО РЕГІСТРА. Логічна функція регістра позначається буквами RG register.
48624. Переоборудование старой аналоговой сети связи Казахстана в цифровую взаимоувязанную сеть связи на основе технологии SDH 1.65 MB
  В настоящее время по всему миру поставщики услуг связи прокладывают за год десятки тысяч километров волоконно-оптических кабелей под землей, по дну океана, рек, на ЛЭП, в тоннелях и коллекторах. Множество компаний, в том числе крупнейшие...
48626. Практикум з дисципліни Цивільний захист 1.22 MB
  Засоби індивідуального захисту органів дихання. Основні визначення при прогнозуванні і оцінці хімічної обстановки. Оцінка хімічної обстановки з допомого приладів хімічної розвідки. Основні визначення радіаційної обстановки І норм радіаційної безпеки. Оцінка радіаційної обстановки за допомогою приладів радіаційної розвідки і дозиметричного контролю
48628. Барабанный котел и его основные технологические параметры. Система регулирования разрежения в дымоходе 856.5 KB
  Содержание Введение Описание объекта автоматизации Задание на курсовой проект Выбор типового датчика Определение оптимального закона регулирования регулятора Определение параметров оптимальной настройки регулятора Построение переходных процессов системы для регулятора с оптимальными параметрами Определение требуемой ПФ устройства ввода возмущения в компенсирующий канал Выбор унифицированного промышленного регулятора Выбор исполнительного механизма Выбор вторичного прибора Описание общей схемы системы...