![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
pair(const T1& X. const T2& y);
Шаблон pair имеет два параметра, представляющих собой типы элементов пары.
Первый элемент пары имеет имя first, второй — second.
В этом же файле определены шаблонные операции ==,!=, <, >, <=, >= для двух объектов типа pair.
Шаблон словаря имеет три параметра: тип ключа, тип элемента и тип функционального объекта, определяющего отношение «меньше»:
template <class Key, class Т, class Compare = less<Key> >
class map {
public:
typedef pair <const Key, T> value_type;
explicit map(const Compare& comp = Compare());
map(const value_type* fist, const value_type* last,
const Compare& comp = Compare());
map (const map <Key, T, Compare> & x);
Обратите внимание на то, что тип элементов словаря value_type определяется как пара элементов типа Key и Т.
Первый конструктор класса тар создает пустой словарь.
Второй — создает словарь и записывает в него элементы, определяемые диапазоном [first, last).
Третий конструктор является конструктором копирования.
Для доступа к элементам по ключу определена операция []:
Т& operator[](const Key & х);
С помощью нее можно не только получать значения элементов, но и добавлять в словарь новые.
Для использования контейнеров типа тар необходимо подключить заголовочный файл <тар>.
В конце темы рассмотрим построение простейшего последовательного контейнера, элементы которого объединены в список. Класс итератора мог быть определен как локальный, но мог быть и дружественным. Рассмотрим последний случай.
Для простоты каждый узел списка представим объектом класса (узел связанного списка для контейнера строк):
//liststr.h
class node {
node* next;
Дата публикования: 2014-11-28; Прочитано: 214 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!