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

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

20565. Національне питання в Радянській Україні в 60-х першій половині 80-х років. Дисидентський рух і його придушення 52.5 KB
  Через самвидав громадськість України СРСР закордону познайомилася з творами І. Так починався в СРСР рух який згодом одержав назву правозахисного й охопив переважно інтелігенцію. Метою правозахисного руху було: захист прав людини і прав народів СРСР боротьба проти русифікації боротьба за незалежну Україну та національне відродження. Першою в СРСР легальною організацією що виступила на захист прав людини була ініціативна група захисту прав людини в СРСР до якої належав харків'янин Г.
20566. Курс на перебудову: плани та реальності його здійснення в Україні 43.5 KB
  Перш ніж горбачовські реформи дійшли до України тут сталася катастрофа глобального значення: 26 квітня 1986 р. Величезна радіоактивна хмара незмірне більша ніж хіросимська покрила багато районів України Росії Білорусії а згодом поширилася на землі Польщі та Скандинавії. Компартію України очолив С. Постали Українська республіканська партія Демократична партія України партія зелених та ін.
20567. Проголошення незалежності України. Розпад СРСР 38 KB
  Проголошення незалежності України. Прийняття Верховною Радою УРСР _Декларації про державний суверенітет України Криза союзних структур політичне протиборство погіршення економічної ситуації зростання національної самосвідомості неухильно посилювали потяг до суверенності відновлення незалежної української держави. було ухвалено закон про економічну незалежність України. Консерватори в союзних структурах активно протидіяли зростанню суверенності й самостійності національних республік у тому числі й України.
20568. Визнання Української держави світовим співтовариством. Міжнародне співробітництво незалежної України. Взаємодія з членами СНД 66 KB
  Міжнародне співробітництво незалежної України. Швидке визнання державної незалежності України десятками країн світу певною мірою породжувало ілюзію того що труднощі пов'язані з перехідним періодом будуть розв'язані безболісно і в короткий термін. Політичні партії і рухи України обстоювали різні нерідко полярні позиції в питаннях зовнішньої політики. Основним документом який визначав принципові засади розбудови державотворчих процесів у тому числі в сфері зовнішньої політики став Акт проголошення незалежності України прийнятий 24 серпня...
20569. Відродження української національної свідомості у першій половині XIX ст 40 KB
  24 березня 1847 року за участь у КирилоМефодіївському товаристві заарештований і засланий солдатом до Орської фортеці Оренбурзького окремого корпусу. КирилоМефодіївське товариство Твори молодого поета згуртували навколо нього університетську молодь. Прагнення звільнити народ від кріпацтва і привело їх до участі в КирилоМефодіївському товаристві 1845 1847 назване на честь слов'янських просвітителів Кирила і Мефодія створенню якого сприяло загальне духовне піднесення українського народу. Соціальний склад КирилоМефодіївського...
20571. Проведення реформи 1861 року в російській Україні, її особливості й наслідки 42.5 KB
  За реформою на кріпосних селян поширювалися економічні права вільних осіб тобто вони отримали право купувати нерухомість займатися торгівлею і промислами тощо. селяни не могли відмовитися від наділу що означало примусове прикріплення їх до землі.Після проведення реформи 220 тис. селян України залишалися безземельними майже 100 тис.
20572. Реформи в Російській імперії в 60 - 70-х рр. 19 ст. та впровадження на Україні 30 KB
  Олександр II підписав Маніфест про скасування кріпосництва і Положення про селян звільнених від кріпосної залежності. Селяникріпаки що доти були власністю поміщиків отримували особисту свободу. Селянам дозволялося без сплати мита торгувати відкривати фабрики та різні промисли підприємства займатися ремеслом за місцем проживання вступати до гільдій і торговельних організацій. Вона надавалася общині або селянському двору подвірне господарство за числом ревізьких душ які мали право на наділи.
20573. Соціально-економічний розвиток українських земель в другій половині 19 - на початку 20 ст 38.5 KB
  Соціальноекономічний розвиток українських земель в другій половині 19 на початку 20 ст.Котляревського Марка Вовчка та інших українських письменників. тут почав виходити перший у царській Росії український часопис Основа що опублікував твори українських письменників. Громадівці всіляко пропагували культ козацтва волелюбних запорожців та гайдамаків які на їхню думку символізували прагнення українських мас.