ТОР 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-мя параметрическими типами. Имеются и классы для работы с совокупностями без параметров: типобезопасные и потенциально опасные, для которых заранее нельзя определить тип элементов. При выборе тех или иных шаблонов надо учитывать и то, что для некоторых есть реализация сериализации (сохранение/загрузка) объектов, а для некоторых нет.
Не нашли, что искали? Воспользуйтесь поиском:
|