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

{

}

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

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

Класс

Шаблон

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

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

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

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

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


 

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

50746. Виготовлення та градуювання штучних термопар 167 KB
  Обладнання: термоелектроди для штучної термопари; джерело постійного струму; тигель з графітом; тигель з піском з електропідігріванням; вольтметр; термометр з робочим діапазоном температур що вимірюється 0 300 ˚С штатив; демонстраційні термопари різного типу та вимірювальні прилади для термопар. Для вимірювання вищих температур застосовують термопари які виготовляють зєднанням між собою кінців різнорідних провідників. Для вимірювання температур до 1100 ˚С використовують термопари з неблагородних металів мідькопель залізокопель...
50747. Технічні засоби зняття інформації 748 KB
  Способи проникнення в закрите приміщення для таємного отримання інформації. Мета роботи: ТЕОРЕТИЧНІ ВІДОМОСТІ Приховане отримання інформації. Метод знімання інформації по віброакустичному каналу відноситься до так званих беззаходовым методів і це є важливою його перевагою.
50748. Макетування веб-сторінки за допомогою таблиць 78.5 KB
  Мета: навчитися розробляти панель навігації по документу, використовуючи таблиці для створення нової структури HTML-документа. Обладнання: ПЕОМ IBM PC, текстовий редактор, Internet Explorer.
50749. Структурування веб-сторінки за допомогою списків 54.5 KB
  Мета: навчитися використовувати різноманітні списки, таблиці у структурі HTML-документа. Обладнання: ПЕОМ IBM PC, текстовий редактор, Internet Explorer.
50750. Формы в html 54 KB
  На цій лабораторній роботі я навчився створювати і використовувати форми у HTML-документах.
50751. Створення, налагодження та розміщення сайту на сервері в мережі Інтернет 614.5 KB
  Тут наводяться адреси телефони факси інші контактні дані головного офісу і філій компанії. Часто публікуються імена посади і навіть фотографії співробітників що займаються певними напрямками діяльності компанії їх робочі телефони та emil адреси. Логотип компанії. Ліцензії патенти дозвільні документи якщо діяльність компанії підлягає ліцензуванню.
50752. Оптимізація веб-сторінки. Додавання кнопок та фонових елементів 639.5 KB
  На цій лабораторній роботі я навчився опановувати елементи web-дизайну, використовуючи кнопки, фон, оптимізаційні методи у формуванні сторінки
50753. Програмування графіки засобами CSS 200.5 KB
  Мета: Отримати навички програмування графіки засобами CSS. Обладнання: ПЕОМ IBM PC, текстовий редактор, Internet Explorer.
50754. Програмування графіки засобами CSS та Html, використовуючи список, що випадає 230 KB
  Мета: Отримати навички програмування графіки засобами CSS. Обладнання: ПЕОМ IBM PC, текстовий редактор, Internet Explorer.