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

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

69337. Загальні відомості про системи автоматичного керування 672 KB
  Система автоматичного керування сукупність об’єкта керування та з’єднаних та з’єднаних певним чином елементів взаємодією яких забезпечується розв’язання поставленого завдання керування об’єктом. Критерій управління це мета керування звичайно вона виражається математично.
69338. Статика і динаміка систем автоматичного керування 86.5 KB
  Приклад складання диференційних рівнянь елементів автоматичної системи 1. Існує три форми запису рівнянь статики: в абсолютних величинах відхиленнях і відносних величинах. Запис рівнянь статики в абсолютних величинах .
69339. ПОДАТОК НА ПРИБУТОК ПІДПРИЄМСТВ 353 KB
  Податок на прибуток підприємств є одним із видів прямого оподаткування прибуткового і оподатковує доходи юридичних осіб на відміну від податку з доходів фізичних осіб який стягується з громадян.
69340. ПОДАТОК З ДОХОДІВ ФІЗИЧНИХ ОСІБ 239.5 KB
  В Україні відсоткова вага цього податку в обсязі доходів була не досить значна 10 від суми податкових надходжень у 1994 році що було наслідком відповідних пропорцій розподілу ВВП на фонд заробітної плати і прибуток.
69341. Фіксований сільськогосподарський податок 47.5 KB
  Виробники сільськогосподарської продукції можуть вибирати порядок оподаткування їх доходів або за загальною системою або за фіксованим податком у разі якщо обсяг реалізації сільськогосподарської продукції перевищує 75 загальної суми валового доходу.
69342. СПРОЩЕНА СИСТЕМА ОПОДАТКУВАННЯ СУБ’ЄКТІВ МАЛОГО ПІДПРИЄМНИЦТВА 67 KB
  З метою реалізації державної політики з питань розвитку та підтримки малого підприємництва ефективного використання його можливостей у розвитку національної економіки з 1 січня 1999 року було запроваджено спрощену систему оподаткування обліку та звітності...
69343. ПЛАТА ЗА ЗЕМЛЮ 67.5 KB
  Земля є одним з найстаріших в історії об’єктом оподаткування. І хоч зараз плата за землю не має суттєвого бюджетного значення існування цього податку зумовлено цілим рядом чинників. З фіскальної точки зору надходження від плати за землю мають стабільний характер...
69344. ПОДАТОК З ВЛАСНИКІВ ТРАНСПОРТНИХ ЗАСОБІВ 82.5 KB
  Платниками податку з власників транспортних засобів та інших самохідних машин і механізмів є юридичні і фізичні особи які мають зареєстровані в Україні власні транспортні засоби які є об’єктами оподаткування. Об’єктами оподаткування є: трактори колісні; сідельні тягачі...
69345. ПЛАТА ЗА РЕСУРСИ ТА ПОСЛУГИ. ЗБІР ЗА СПЕЦІАЛЬНЕ ВИКОРИСТАННЯ ЛІСОВИХ РЕСУРСІВ 238.5 KB
  Основною метою введення збору за спеціальне використання лісових ресурсів та користування земельними ділянками лісового фонду (лісового доходу) була мобілізація коштів для відтворення лісового фонду, поліпшення його якісного складу, забезпечення правильної експлуатації лісів.