4971

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

Контрольная

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

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

Русский

2012-11-30

43.86 KB

14 чел.

Шаблон

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

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

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

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

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

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

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

Для описания шаблонного класса используется ключевое слово 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()

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

46333. Конфликт в организации как управленческий процес 82.16 KB
  Исходя из поставленной цели определены следующие задачи: определить понятие конфликта и конфликтной ситуации выделить виды и типы конфликтов описать процесс развития конфликта а также изучить способы и методы управления конфликтами.
46334. Соблюдение условий и требований таможенных процедур 319.54 KB
  Понятие виды и классификация таможенных процедур. Этапы развития таможенных режимов. Понятие и принципы таможенных процедур. Классификация и виды таможенных процедур.
46335. Расчёт холодильных камер для хранения молочного продукта 99.4 KB
  Искусственное охлаждение можно осуществлять двумя способами: с помощью другого вещества, имеющего более низкую температуру передавая тепло при изменении его агрегатного состояния с помощью специальных охлаждающих устройств холодильных машин и установок.
46337. Общая философия 124.37 KB
  Человеческое сознание старается преодолеть толщу преходящего чтобы выйти к некоей краеугольной бытийной правде существования и предназначения человека на земле. Использование различных приборов и устройств рассматривалось лишь как простое усиление органов чувств человека. Субъективный дух душа сознание отдельного человека так называемый дух для себя . Он существует независимо от человека и общества от их сознания и воли.
46338. Обзор деятельности компании Nissan Motor Co 267 KB
  Компания Nissan Motor Co была создана в декабре 1933 года и получила свое современное название в 1934 году. Первый компактный автомобиль марки Datsun сошел с конвейера в апреле 1935 года. Сегодня заводы компании, производящие автомобили, расположены в 16 странах, официальные продажи осуществляются в 190 странах мира. В компании работает более 180 000 человек. В глобальном модельном ряду компании – более 60 различных моделей.
46339. Разработка и реализация экономико-математической модели расчета стоимости автоперевозок на примере OOO «Heineken» 184.85 KB
  Особенно бурное развитие она получила в период второй мировой войны когда была применена для решения стратегических задач и четкого взаимодействия оборонной промышленности типовых и снабженческих баз и транспорта с целью своевременного обеспечения армии вооружением ГСМ и продовольствием. Подразделения логистики созданы на предприятиях промышленности аграрнопромышленного комплекса транспорта в аппарате НАТО они включаются в состав организационных комитетов по проведению крупных международных соревнований и т. К концу 20 века...
46340. Расчёт и конструирование перекрытия здания 1.51 MB
  Расчёт и конструирование сборной плиты перекрытия Расчётная схема: задаёмся размерами сечения ригеля: Сбор нагрузок: нормативные и расчётные нагрузки на 1 м2 перекрытия: Вид нагрузки нормативная Н м2 коэффициент надёжности по нагрузке расчётная нагрузка Н м2 Постоянная: собственный вес ребристой плиты; вес пола: ц. Высота сечения ребристой предварительно напряжённой плиты