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

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

25552. Удовлетворенность браком и условия сохранения супружества 12.99 KB
  Субъективная удовлетворенность браком отношение реальности выполнения партнером своих обязательств к ожидаемым. Причины неудовлетворенности браком: неудовлетворенность адекватных потребностей нереалистич чрезмерно завш ожидания в отношении брала и партнера В иследованиях установили что семейные люди особенно те кто участ в браке ощущающие более высокую степень удовлетворенности. Удовлетворенность браком может быть: полная частичная Эйдемиллер и Юстицкис различают неудовлетворительность осознанная сопровожд конфликтом...
25553. Факторы семейного благополучия 13.1 KB
  Психологическая совместимость супругов. Психологическая совместимость взаимное принятие партнеров по общению и совместной деятельности основанное на оптимальном сочетании сходстве или взаимодополнительности ценностных ориентации личностных и психофизиологических особенностей. Компоненты с семейной психологической совместимости: Психофизиологическая совместимость сексуальная совместимость. Ценностная совместимость любовь нежность взаимоуважение верность деликатность Личностная совместимость наличие благоприятных качеств...
25554. Предприятие, цели и задачи его создания. Основные типы предприятий. Аренда, лизинг, франчайзинг 123.5 KB
  Предприятие это самостоятельный специализированный субъект созданный в порядке установленном законом для производства продукции выполнения работ и оказания услуг с целью удовлетворения общественных потребностей и получения прибыли. 2 по структуре продукции: узкоспециализированные многопрофильные комбинированные. Оплата труда непроизводственного персонала включается в себестоимость продукции косвенным путем. Затраты на оборотные средства включаются в себестоимость изготавливаемой продукции в полном объеме по мере потребления.
25555. Учение Платона о душе 28.5 KB
  Вожделеющая и страстная души должны подчиняться разум ной которая одна может сделать поведение нравственным. И наконец разумную часть души Платон отождествляет с возницей который ищет правильный путь и направляет по нему колесницу управляя конем. В описании души Платон придерживается четких чернобелых критериев доказывая что есть плохие и хорошие части души: разумная часть для него является однозначно хорошей в то время как вожделеющая и страстная плохими более низкими. У человека Платон выделял два уровня души высший и низший.
25556. Аристотель о душе и ее способностях 30.5 KB
  Форма придает материи качественную определенность составляет сущность вещей. Материя не может быть бесформенной форма не может не иметь материальной основы. Душа форма живой материи. Душа и тело связаны как материя и форма т.
25557. Неоплатонизм и томизм в философии и психологии Средневекового периода 30.5 KB
  Развитие мира постоянное восхождение или нисхождение божественного Ступени: Божественное первоначало Божественный ум Божественная душа Природа По мере нисхождения верховного начала оно передается во множество умов и душ. Первично божественное материя последняя стадия дробления первоначала Душа человека происходит из мировой души она нематериальна непространственна едина. Уровни или части души: Умопостигаемая душа Чувственная душа Тело Деятельность души функции Обращение к мировому разуму Обращение к чувственному миру и...
25558. Развитие средневековой психологии на востоке. Авиценна, Альгазен, Аверроэс 26.5 KB
  Авиценн согласен с Аристотелем в том что душа это форма тела и о трех способностях души растительной рост животной ощущения аффекты движения и разумной воображение память разум. Авиценн выделил чистые разумные акты независимые от тела. Причины выделения индивидуального разума 1. чувства и разум разобщены самостоятельны по отношению друг к другу независимы.
25559. Психология в эпоху Возрождения: основные тенденции в развитии философо-психологических взглядов 27.5 KB
  Поскольку человек есть часть природы то и душа его есть лишь проявление природы. Стремления и удовольствия требования природы человек должен их удовлетворять. Помпонацци 14621524 О бессмертии души Бог в делах природы участия не принимает. Человек есть результат развития природы причем у него как и у всего живого появляется психическое душевное названное термином дух захваченное из окружающей среды наиболее совершенное материальное вещество.
25560. Общие черты в развитии психологии Нового времени 26 KB
  : Рост производства Переход к капитализму Мануфактуры Тенденции характерные для философов: Отделение науки от религии: отказ от веры светский характер науки для того чтобы ускорить прогресс Источник познания: Сенсуализм родоначальник Ф.Бэкон Источник познания чувственный опыт. Источник познания мышление разум. Способы научного познания: Индуктивный: от частногоопыта к общему правилу Дедуктивный: от общего теории к частному частным ситуациям Что первично: психика или телесный мир Сенсуализм: сначала...