Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Использование шаблонов в программе




Stack < int > kernels;//стек для данных типа int, переменная kernels

Stack <String> colonels; //стек для объектов класса String

simple(2);//simple(int)

simple(“two”);//simple(char*)

 

В качестве типов возможны и указатели, напр. Stack<char*> st, но нужна тщательная разработка методов во избежание ошибок.

 

Пример

 

template < class T, int n>

class ArrayTP

{

private:

T arr[n];

public:

...

explicit ArrayTP(const T &v);

};

 

Создание класса:

ArrayTP< double,12> eggweights;

 

Если для некоторого параметра указан конкретный тип, как выше int n, то в качестве аргумента надо использовать сллвеьсвующую константу этого типа, или типа который к ней приводится или выражение этого типа. Но на выражения налагаются некоторые ограничения связанные с поддержкой определённого контроля.

В DevStudio имеется стандартная библиотека шаблонов для работы с совокупностями объектов: CArray, CList, CMap. 1-е два с двумя параметрами-типами, а 3-й с 4-мя параметрическими типами.

Имеются и классы для работы с совокупностями без параметров: типобезопасные и потенциально опасные, для которых заранее нельзя определить тип элементов. При выборе тех или иных шаблонов надо учитывать и то, что для некоторых есть реализация сериализации (сохранение/загрузка) объектов, а для некоторых нет.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных