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()

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

78519. Концепции и механизмы практической реализации распределенной обработки информации 27 KB
  Концепции и механизмы практической реализации распределенной обработки информации. Одним из исторически первых механизмов реализации распределенной обработки информации является механизм удаленного вызова процедур RPC который поддерживает синхронный режим коммуникаций между двумя прикладными модулями клиентом и сервером. RPC реализует в распределенной среде принципы традиционного структурного программирования. Применение объектно-ориентированного подхода способствует значительному усовершенствованию механизмов организации распределенной...
78520. Эволюция технических средств в обработке информации. Классификация, структурное построение и основные параметры вычислительных машин 28 KB
  Классификация структурное построение и основные параметры вычислительных машин. Предшественниками вычислительных машин были механические и электромеханические счетные устройства. Эта машина во многом была прообразом современных универсальных вычислительных машин. Лебедевым независимо от фон Неймана были сформулированы более детальные и полные принципы построения электронных цифровых вычислительных машин которые были применены при создании первых отечественных разработок ВМ Первый период 19451955.
78521. Основные аппаратные составляющие и перифирийные устройства компьютеров, их назначение, типы, принципы функционирования и характеристики 33 KB
  Процессор является основным вычислительным устройством ВМ в задачу которого входит исполнение находящейся в памяти машины программы. Процессор является основным вычислительным узлом ПК в задачу которого входят исполнение находящейся в памяти программы. сам по себе процессор и остальные элементы контроллеры памяти интерфейсы шины КЭШ память...
78522. Вычислительные системы: общие понятия, классификация, структурные схемы, характеристики 159.5 KB
  Одним из эффективнейших направлений развития вычислительной техники стало построение так называемых многомашинных вычислительных систем ММВС Принципиальным отличием ММВС от многопроцессорных ВМ является то что входящие в состав ММВС отдельные ВМ или и отдельные так называемые вычислительные модули ВМод включающие центральный процессор основную память интерфейсное устройство и возможно дисковую память имеют свою собственную основную память. Вычислительные машины или и вычислительные модули связываются между собой посредством...
78523. Понятие и классификация вычислительных сетей. Модель многоуровневого сетевого взаимодействия 27 KB
  COWS кластар рабочих станций NOWS сеть рабочих станций Основной классифицирующей характеристикой ВС является их масштабная территориальная характеристика: локальные вычислительные сети и глобальные вычислительные сети ГВС и региональные городские РВС. Сети отделов. Сети кампусов изначально преследовали цель объединения нескольких мелких локальных сетей в одну. Корпоративные сети в рамках одного предприятия.
78524. Физический уровень сетевых телекоммуникаций: общие понятия, типы и характеристики линий связи, методы передачи данных 27 KB
  Физический уровень сетевых телекоммуникаций: общие понятия типы и характеристики линий связи методы передачи данных Физ. В зависимости от типа физической среды передачи информации линии связи могут быть либо кабельными проводными либо беспроводными электромагнитные волны. в оптоволоконном кабеле для передачи данных используются световые импульсы. малую надежность передачи информации.
78525. Базовые сетевые технологии: стандарты, механизмы, характеристики 27 KB
  Под топологией компьютерной сети обычно понимают физическое расположение компьютеров сети относительно Друг Друга и способ соединения их линиями. Топология определяет требования к оборудованию тип используемого кабеля методы управления обменом надежность работы возможность расширения сети. Звезда: все компьютеры сети соединяются с центральным компьютером активная звезда при отсутствии центрального компьютера псевдо звезда. По сети непрерывно циркулирует маркер который имеет длину 3 байта и не содержит обычных данных.
78526. Конструирование путевых машин капитального ремонта пути 1007.73 KB
  От его работы зависит бесперебойная работа всех его секторов. Железнодорожный транспорт многоотраслевое хозяйство представлявшее собой огромный по протяженности конвейер бесперебойная и безаварийная работа которого зависит от функционирования каждой из его составных частей. Железнодорожный путь работает в самых сложных атмосферноклиматических условиях при постоянном воздействии динамической нагрузки от проходящих поездов. Для обеспечения указанных требований постоянно ведутся работы по усилению несущей способности и...
78527. Технология производства рабочей лопатки турбины 4.23 MB
  Одной из самых нагруженных деталью, ограничивающей межремонтный ресурс, являются неохлаждаемые лопатки турбины, изготавливаемые из деформируемого никелевого сплава ЭИ893. Лопатки из этого сплава из-за ограничений по длительной прочности имеют ресурс 48000 часов.